如何將其中包含空格的 /EXCLUDE 檔案指定給 xcopy?

如何將其中包含空格的 /EXCLUDE 檔案指定給 xcopy?

我試圖指定一個/EXCLUDE包含空格的檔案名稱 to xcopy,但它總是令人窒息。如何指定這樣的路徑xcopy而不將檔案複製/EXCLUDE到當前目錄並且不使用舊的 DOS~1短名稱 hack?

c:\Users\binki\Documents\repos\xcopy_exclude_spacey>dir source
 Volume in drive C is OS
 Volume Serial Number is 7C4E-86D4

 Directory of c:\Users\binki\Documents\repos\xcopy_exclude_spacey\source

2013-01-03  16:39    <DIR>          .
2013-01-03  16:39    <DIR>          ..
2013-01-03  16:39                 0 a
2013-01-03  16:39                 0 a b c
2013-01-03  16:39                 0 b
2013-01-03  16:39                 0 c
               4 File(s)              0 bytes
               2 Dir(s)  117,279,027,200 bytes free

c:\Users\binki\Documents\repos\xcopy_exclude_spacey>type "various exclude rules\a"
a

c:\Users\binki\Documents\repos\xcopy_exclude_spacey>xcopy /E /EXCLUDE:"various exclude rules\a" source dest
Can't read file: "various exclude rules\a"

0 File(s) copied

c:\Users\binki\Documents\repos\xcopy_exclude_spacey>xcopy /E "/EXCLUDE:various exclude rules\a" source dest
Invalid number of parameters

在一個像樣的 shell 中可以正常運作的引用檔案名稱的方法都不適用於 xcopy。由於某種原因,"/EXCLUDE:<filename>"語法阻止選項本身被識別。另一種語法"/EXCLUDE:"<filename>"導致列印訊息Can't read file: "<filename>",表示該選項正在被正確解析:雙引號防止參數被分成多個部分。但是,此訊息表示 xcopy 在嘗試開啟檔案之前未正確從檔案名稱中刪除雙引號。

由此看來,如果我指定的路徑的第一個組成部分以/EXCLUDEa 開頭"並且我的/EXCLUDE檔案名稱以 結尾",我將能夠從 xcopy 的/EXCLUDE選項成功引用該檔案。但 Windows 拒絕讓我將該"字元放入我的檔案名稱中。

那麼,在檔案名稱空格的現代世界中,我該如何使用 xcopy 呢?

相關內容