Copiar archivos especifico con cmd

Necesito copiar archivos pdf de dentro de una carpeta, pero los misos están en subcarpetas, no logro armar un bat para eso, solo necesito mover archivos específicos de todo un árbol, aclaro que no se mucho de programación y menos de cmd, pero con el comando copy no lo logro, y he probado esto :

@ECHO off
IF ".pdf" == "" GOTO ayuda
CD \
IF NOT EXIST %1 (MD %1)
FOR /F "tokens=*" %%A IN ('dir /B /S *.pdf') DO (copy /Y "%%A" %1)
GOTO :FIN
:Ayuda

No entiendo que significan pero modifique el %2 y no resulta. Se que algoi estoy haciendo mal. Ayuda please

1 Respuesta

Respuesta

Veo que el bat que quieres utilizar tiene previsto usar un parámetro de entrada (%1) que sería el nombre de la carpeta de destino de la copia de los PDF.

Supongo que el primer IF debería controlar que realmente se esté pasando ese parámetro de entrada. Si se quiere que sea esa su función debería ser algo como

IF "%1" == "" GOTO ayuda

Y bajo la etiqueta :Ayuda debería estar la información.

Lo demás me parece que está razonablemente bien (salvo que debes crear una etiqueta :fin como destino del GOTO :FIN de la penúltima línea.

En resumen, debería ser algo como:

@ECHO off
IF "%1" == "" GOTO :Ayuda
CD \
IF NOT EXIST %1 (MD %1)
FOR /F "tokens=*" %%A IN ('dir /B /S *.pdf') DO (copy /Y "%%A" %1)
GOTO :FIN
:Ayuda
Echo Hay que pasar como parametro el nombre de la carpeta de destino
Echo Si no existe se creara
Echo Formato de uso:
Echo %0 carpeta
:Fin

Si tienes alguna duda, necesitas alguna otra aclaración o no funciona como necesitas no dudes en seguir con este hilo. Mientras tanto saludos, GGG

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas