C'è un modo per copiare le directory in modo ricorsivo all'interno di un file .bat? Se è così, un esempio sarebbe fantastico. Grazie.
C'è un modo per copiare le directory in modo ricorsivo all'interno di un file .bat? Se è così, un esempio sarebbe fantastico. Grazie.
Risposte:
Guarda in xcopy , che copierà ricorsivamente file e sottodirectory.
Ci sono esempi, 2/3 in fondo alla pagina. Di particolare utilizzo è:
Per copiare tutti i file e le sottodirectory (comprese le eventuali sottodirectory vuote) dall'unità A all'unità B, digitare:
xcopy a: b: /s /e
Copy-Item -Recurse
in PowerShell.
Dopo aver letto i commenti della risposta accettata, ho provato il comando robocopy , che ha funzionato per me (utilizzando il prompt dei comandi standard da Windows 7 64 bit SP 1):
robocopy source_dir dest_dir /s /e
/E
implica /S
? copy subdirectories, including Empty ones.
/S
e /E
sembrano implicare cose opposte secondo l' /?
aiuto di robocopy - s è "non vuote" e è "vuote". Penso che dovresti sceglierne solo uno.
robocopy
restituisce un codice di uscita di 1 se uno o più file sono stati copiati correttamente.
Puoi scrivere un algoritmo ricorsivo in Batch che ti dà il controllo esatto di ciò che fai in ogni sottodirectory annidata:
@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
File batch di Windows che scorre tra le directory per elaborare i file?