alguien podria darme un ejemplo de for /d
que corte archivos de una carpeta a otra sin variables si nos es mucha molestia
Sin variables es imposible, los búcles (FOR) usan una variable especial para referirse al "objeto" (La variable siempre es: "%%X", donde "X" es una letra que escribí al azar, pero no puede ser un número)
Es importante que aprendas a usar las variables, y las variables de FOR, lo son casi-todo.
@Echo OFF
REM Creamos unas cuantas carpetas y archivos...
MKDIR ".\Test1" 2>NUL
MKDIR ".\Test2" 2>NUL
Echo Test>".\Test1\Test1.txt"
Echo Test>".\Test2\Test2.txt"
REM Definimos la carpeta de destino
Set "DESTINO=C:"
REM Procesamos las carpetas una a una
For /D %%# in ("*Test*") Do (
Echo Carpeta: %%~f#
REM Y procesamos los archivos de cada carpeta uno a uno
For %%@ in ("%%~f#\*.txt") Do (
Echo Archivo: %%@
Echo copy /Y "%%~f@" "%DESTINO%\%%~nx@"
)
Echo+
)
Pause&Exit
Output:
Carpeta: C:\Users\Administrador\Desktop\1\Test1
Archivo: C:\Users\Administrador\Desktop\1\Test1\Test1.txt
copy /Y "C:\Users\Administrador\Desktop\1\Test1\Test1.txt" "C:\Test1.txt"
Carpeta: C:\Users\Administrador\Desktop\1\Test2
Archivo: C:\Users\Administrador\Desktop\1\Test2\Test2.txt
copy /Y "C:\Users\Administrador\Desktop\1\Test2\Test2.txt" "C:\Test2.txt"
Presione una tecla para continuar . . .