Tengo un archivo *otf que me gustaría copiar en todos los subdirectorios de la carpeta principal. Esto es lo que he intentado.
for /R %%x in (.) do copy "file.otf" "%%x"
Esto funciona en su mayor parte pero también deja una copia en la carpeta principal. Me gustaría una solución para esto, de modo que el lote solo se copie en todos los subdirectorios.
Respuesta1
No pude hacer que su código funcione en Microsoft Windows [Versión 10.0.17134.648]. El siguiente código funciona.
prueba:
for /f "tokens=*" %%x in ('dir /b /s /ad "path-to-parent-folder-with-double-quotes-if-there-is-a-space-in-the-path\"') do echo copy /y "file.otf" to "%%x\"
Copiar:
for /f "tokens=*" %%x in ('dir /b /s /ad "path-to-parent-folder-with-double-quotes-if-there-is-a-space-in-the-path\"') do copy /y "file.otf" "%%x\"
eliminar file.otf de los subdirectorios:
for /f "tokens=*" %%x in ('dir /b /s /ad "path-to-parent-folder-with-double-quotes-if-there-is-a-space-in-the-path\"') do del /q "%%x\file.otf"
tokens=* se encarga de los espacios en la ruta/nombre de archivo
"tokens=*"
dir /b /s /ad copia el archivo a un directorio y no a un archivo. Sin /ad file.otr sobrescribirá todos los archivos del directorio.Utilice copiar en lugar de copiar /y si le preocupa.
dir /b /s /ad
copy /y sobrescribe file.otr sin pedir permiso. Seguramente lo intentará un par de veces antes de estar satisfecho de que está funcionando.
copy /y
En lugar de "arreglar" su código, ¿por qué no simplemente elimina file.otr en el directorio principal?
del /q file.otr