Saya mencoba menjalankan /MOVE
perintah robocopy tetapi mengecualikan beberapa subdirektori yang ditentukan dengan /XD
flag.
robocopy ".\CurrentDir" ".\NewDir" /XD ".\CurrentDir\SubDir1" ".\CurrentDir\SubDir2" /E /MOVE
Sayangnya itu mengabaikan /XD
opsi dan memindahkan segalanya. Jika saya menggunakan jalur absolut pada semuanya, itu berfungsi dengan baik, tapi saya ingin ini fleksibel. Apakah ada cara untuk membuatnya bekerja dengan jalur relatif?
%CD%
variabel lingkungan. Contoh:robocopy ".\CurrentDir" ".\NewDir" /XD "%CD%\CurrentDir\SubDir1" "%CD%\CurrentDir\SubDir2" /E /MOVE
Jawaban:
Folder yang ditentukan untuk
/XD
merujuk ke folder (untuk mengecualikan) yang ada dalam folder sumber, jadi Anda hanya menentukan nama folder yang ingin Anda kecualikan, tanpa menentukan hubungan induk.yaitu:
sumber
Berikut ini dapat membantu - itu memang menangani masalah jalur relatif secara langsung - tetapi memang memungkinkan banyak mengecualikan direktori dan sub direktori.
Jika Anda hanya mengecualikan folder tingkat atas - cukup gunakan nama folder - misalnya APC. Namun jika Anda melakukan sub folder - Anda memerlukan seluruh path. Path harus sepenuhnya mencocokkan path sumber + path ke subfolder. Saya telah mengujinya dengan berbagai cara dan ini adalah satu-satunya cara saya bisa membuatnya bekerja. Format file batch / cmd ini juga memungkinkan spasi di path atau nama file.
sumber