Mover un elemento de una carpeta principal a su subcarpeta

-2

Me preguntaba si alguien podría ayudarme con un script que mueva un archivo / archivos de una carpeta principal a su subcarpeta. Eso es. He visto scripts que moverán los archivos hacia arriba a sus carpetas principales, pero nada para moverlos hacia abajo una clavija. ¿Es esto posible?

    
pregunta rcktship 13.10.2016 - 19:26

2 respuestas

1

Por qué complicarte.

cd /Users/admin/Desktop/test &&
mkdir -p Archive &&
find . -maxdepth 1 -type f -exec mv -nv {} Archive \;

Pros:

  • Maneja espacios, caracteres especiales o incluso nuevas líneas en los nombres de archivos correctamente.
  • Sale si no puede acceder al directorio test .
  • Sale si el directorio Archive no existe y no se puede crear.
  • Te dice qué archivos se están moviendo.
  • No sobrescribe los archivos existentes con el mismo nombre.
  • En realidad es de una sola línea, solo se rompe para facilitar la lectura:

    cd /Users/admin/Desktop/test && mkdir -p Archive && find . -maxdepth 1 -type f -exec mv -nv {} Archive \;
    
respondido por el Wildcard 14.10.2016 - 05:46
-2

No es perfecto, pero lo siguiente funcionará en su mayoría. Suposiciones:

• El directorio de origen es / Users / admin / Desktop / test (se puede editar)

• El directorio de destino anidado es Archivo

#!/bin/bash

oldIFS=$IFS
IFS=$(/bin/echo -en "\n\b")

dir="/Users/admin/Desktop/test"

if [ -d $dir/Archive ] ; then
    for FILE in '/bin/ls $dir | /usr/bin/grep -v Archive' ; do
        /bin/echo "Moving $FILE"
        /bin/mv $dir/$FILE $dir/Archive/$FILE
    done
    else
        /bin/echo "Folder $dir/Archive does not exist"
fi

IFS=$oldIFS

Tenga en cuenta que si tiene otros archivos con "Archivo" en el nombre, también se omitirán ... Estoy seguro de que hay una mejor manera.

    
respondido por el MacManager 14.10.2016 - 03:54

Lea otras preguntas en las etiquetas