¿Hay alguna forma de copiar directorios de forma recursiva dentro de un archivo .bat? Si es así, un ejemplo sería genial. Gracias.
¿Hay alguna forma de copiar directorios de forma recursiva dentro de un archivo .bat? Si es así, un ejemplo sería genial. Gracias.
Respuestas:
Busque en xcopy , que copiará archivos y subdirectorios de forma recursiva.
Hay ejemplos, 2/3 hacia abajo en la página. De particular utilidad es:
Para copiar todos los archivos y subdirectorios (incluidos los subdirectorios vacíos) de la unidad A a la unidad B, escriba:
xcopy a: b: /s /e
Copy-Item -Recurse
en PowerShell.
Después de leer los comentarios de la respuesta aceptada, probé el comando robocopy , que funcionó para mí (usando el símbolo del sistema estándar de Windows 7 64 bits SP 1):
robocopy source_dir dest_dir /s /e
/E
implica /S
? copy subdirectories, including Empty ones.
/S
y /E
parece implicar cosas opuestas según la /?
ayuda de robocopy - s es "no vacíos" e es "vacíos". Creo que deberías elegir uno.
robocopy
devuelve un código de salida de 1 si uno o más archivos se copiaron correctamente.
Puede escribir un algoritmo recursivo en Batch que le brinde un control exacto de lo que hace en cada subdirectorio anidado:
@echo off
call :treeProcess
goto :eof
:treeProcess
rem Do whatever you want here over the files of this subdir, for example:
copy *.* C:\dest\dir
for /D %%d in (*) do (
cd %%d
call :treeProcess
cd ..
)
exit /b
¿Archivo por lotes de Windows recorriendo directorios para procesar archivos?