He estado intentando copiar todos los archivos en los distintos subdirectorios que tienen una JPG
extensión ubicada C:
en un solo directorio en D:
. No quiero conservar la estructura del directorio.
Esto es todo lo que he llegado:
for /r C:\ %f in (*.jpg) do @copy "%f" D:\pictures
Después de este punto, me preguntan si quiero sobrescribir D:\pictures
. Si respondo yes
, termino con un solo archivo y si respondo que no, no se copia ningún archivo.
También intenté agregar /y
al final del comando, pero simplemente sobrescribe los archivos anteriores y deja solo el último.
Respuesta1
Esto debería funcionar:
for /r C:\ %f in (*.jpg) do @copy "%f" D:\pictures\
Explicación:
El comando copy "%f" D:\pictures
copia el archivo %f
en la ubicación D:\pictures
, que es el archivo pictures
en el directorio D:\
.
Agregar un final \
para asegurarse de que copy
se trate pictures
como un directorio.
Si copia varios archivos en una única ubicación (por ejemplo, copy *.* D:\backup
), copy
se trata automáticamente backup
como un directorio. Pero este no es el caso cuando copias un solo archivo.
Respuesta2
para /R c:\ %%1 in ("*.txt") haga @xcopy "%%1" d:\txttemp%%~p1 /e/i/s/q/h
este código se copiará sin sobrescribir y creará carpetas y subcarpetas