Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: asdexiva en 17 Junio 2013, 22:03 pm



Título: alguien podria darme un ejemplo for /d
Publicado por: asdexiva en 17 Junio 2013, 22:03 pm
alguien podria darme un ejemplo de for /d

que corte archivos de una carpeta a otra sin variables si nos es mucha molestia


Título: Re: alguien podria darme un ejemplo for /d
Publicado por: Eleкtro en 18 Junio 2013, 02:52 am
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.

Código
  1. @Echo OFF
  2.  
  3. REM Creamos unas cuantas carpetas y archivos...
  4. MKDIR ".\Test1" 2>NUL
  5. MKDIR ".\Test2" 2>NUL
  6. Echo Test>".\Test1\Test1.txt"
  7. Echo Test>".\Test2\Test2.txt"
  8.  
  9.  
  10. REM Definimos la carpeta de destino
  11. Set "DESTINO=C:"
  12.  
  13.  
  14. REM Procesamos las carpetas una a una
  15. For /D %%# in ("*Test*") Do (
  16.  
  17. Echo Carpeta: %%~f#
  18.  
  19. REM Y procesamos los archivos de cada carpeta uno a uno
  20. For %%@ in ("%%~f#\*.txt") Do (
  21. Echo Archivo: %%@
  22. Echo copy /Y "%%~f@" "%DESTINO%\%%~nx@"
  23. )
  24.  
  25. )
  26.  
  27. Pause&Exit


Output:
Código:
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 . . .