![¿Cómo puedo copiar todos los archivos con una determinada extensión en un solo directorio (sin la estructura del directorio)?](https://rvso.com/image/1311333/%C2%BFC%C3%B3mo%20puedo%20copiar%20todos%20los%20archivos%20con%20una%20determinada%20extensi%C3%B3n%20en%20un%20solo%20directorio%20(sin%20la%20estructura%20del%20directorio)%3F.png)
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