Bagaimana cara saya menggunakan robocopy dengan banyak file yang dikecualikan?

10

Saya ingin menggunakan robocopy untuk memindahkan sejumlah besar file, kecuali yang ada dalam daftar putih. Daftar putih berisi sekitar 150 file dengan nama berbeda. Ketika saya menyalin dan menempel nama file daftar putih ke baris perintah (menggunakan /xfparameter), robocopy memotong daftar.

c:\test> robocopy src dest *.ext /xf exclude1.ext exclude2.ext exclude3.ext ... exclude 299.ext exclude300.ext

Hasil dalam:

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows

-------------------------------------------------------------------------------

  Started : Fri May 24 14:09:31 2013

   Source : C:\test\src\
     Dest : C:\test\dest\

    Files : *.ext

Exc Files : exclude1.ext
            exclude2.ext
            exclude3.ext
            ....
            ....
            exclude200.ext
            exclude201.ext
            exclu

lalu:

'exclude250.ext' is not recognized as an internal or external command,
operable program or batch file.
'exclude251.ext' is not recognized as an internal or external command,
operable program or batch file.
'exclude252.ext' is not recognized as an internal or external command,
operable program or batch file.
'exclude253.ext' is not recognized as an internal or external command,
operable program or batch file.

Sayangnya file dalam daftar putih dipilih sendiri dan tidak dapat difilter oleh wildcard.

Apakah ada cara untuk mengatasi ini?

Monyet Ungu kabur
sumber

Jawaban:

13

Ada batasan pada panjang baris perintah (saya pikir itu adalah sekitar 2048 karakter) di windows.

Anda harus membuat file pekerjaan dengan subset kecil dari daftar pengecualian yang ditentukan (menggunakan /save:filenameargumen) untuk mendapatkan sintaksis, mengedit file untuk menyertakan daftar lengkap, dan kemudian menggunakan /job:filenameargumen untuk menjalankannya.

Untuk referensi, dokumentasi untuk alat ini dapat ditemukan di sini.

Falcon Momot
sumber
0

Ternyata sintaks file pekerjaan robocopy tidak rumit.

Untuk situasi spesifik Anda, Anda dapat mencapai apa yang Anda inginkan dengan membuat file pekerjaan robocopy dengan konten berikut:

/XD
exclude1.ext
exclude2.ext
exclude3.ext
....

Jika Anda ingin melakukan hal yang sama untuk file juga, maka file pekerjaan robocopy Anda akan terlihat seperti ini:

/XD
exclude1.ext
exclude2.ext
exclude3.ext
....

/XF
file1.ext
file2.ext
file3.ext
....

Dengan menggunakan logika yang sama Anda dapat memindahkan opsi lain dari baris perintah ke file pekerjaan.

Fara Importanta
sumber
0

coba gunakan wildcard setelah / XF filename1 * .ext filename2 * .ext filename3 * .ext Ini hanya akan berfungsi jika Anda tahu bahwa nama file itu unik di seluruh struktur. Anda dapat mengubah konvensi penamaan file yang ingin Anda kecualikan untuk mengatasi batasan ini.

Tryp
sumber