Apakah ada cara untuk menyalin direktori secara rekursif di dalam file .bat? Jika demikian, sebuah contoh akan bagus. Terima kasih.
Apakah ada cara untuk menyalin direktori secara rekursif di dalam file .bat? Jika demikian, sebuah contoh akan bagus. Terima kasih.
Jawaban:
Lihat xcopy , yang akan menyalin file dan subdirektori secara rekursif.
Ada contoh, 2/3 halaman. Penggunaan tertentu adalah:
Untuk menyalin semua file dan subdirektori (termasuk subdirektori kosong) dari drive A ke drive B, ketik:
xcopy a: b: /s /e
Copy-Item -Recurse
di PowerShell juga.
Setelah membaca komentar jawaban yang diterima, saya mencoba perintah robocopy , yang berfungsi untuk saya (menggunakan command prompt standar dari Windows 7 64 bits SP 1):
robocopy source_dir dest_dir /s /e
/E
menyiratkan /S
? copy subdirectories, including Empty ones.
/S
dan /E
sepertinya menyiratkan hal-hal yang berlawanan menurut /?
bantuan robocopy - s adalah "tidak kosong" e adalah "yang kosong". Saya pikir Anda harus memilih satu saja.
robocopy
mengembalikan kode keluar 1 jika satu atau lebih file berhasil disalin.
Anda dapat menulis algoritme rekursif dalam Batch yang memberi Anda kontrol tepat atas apa yang Anda lakukan di setiap subdirektori bertingkat:
@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
Windows Batch File Looping Melalui Direktori untuk Memproses File?