2013-07-01 20 views
0

我正在考慮使用robocopy.exe來備份從同步到「C :\ documents and settings「在不同的文件夾下,我的命令行語法如下:在DOS命令行中使用「for/R」循環時出現文字和空格之間有空格的問題,例如「文檔和設置」

for/rc:\文件和設置%g在(。)中做c:\ robocopy%gc:\ photos * .jpg/xo

此語法旨在將c:\ documents和settings中的子文件夾中的所有.jpg文件複製到c:\ photos中,以便我可以瀏覽thumnails而不必更改文件夾,也可以避免複製將具有相同日期和時間標記的文件保存到c:\照片以節省時間。

錯誤在於循環將解析單個單詞的「文檔和設置」,並在C:\ documents,c:\ documents \下查找文件,從而導致錯誤。

我試過在「Documents and Setting」和「\ documents and settings」中加引號,但沒有成功。

它的工作非常順利地使用目錄,而在像下面的文件夾名稱中的任何空格,但上面介紹的時候失敗:

爲/ RC(。)\ ABC%克做C:\ ROBOCOPY%GC:\照片* .jpg/xo

當文件夾中有jpg文件時c:\ abc \ galaxy和c:\ abc \ iphone。

有沒有什麼辦法可以改進這個語法來實現我想要的?

感謝和問候 馬皇

+1

您是否試過在「Documents and Settings」中加引號? – jalynn2

+0

是的,也試過c:「\文件和設置」由一些網站建議。 –

回答

0

你沒有把引號將參數ROBOCOPY,所以它的第一個參數結束了自己的錯誤。對於沒有空格的路徑來說,這並不重要,所以這就是它工作的原因。

糟糕的代碼: 用於/ RC:在\文件和設置%G做C(。):\ ROBOCOPY%GC:\照片* .JPG/XO

更正後的代碼:

for /r "c:\documents and settings" %g in (.) do c:\robocopy "%g" c:\photos *.jpg /xo 

(也注意robocopy「%g」上的引用..不僅僅是遞歸FOR的文檔和設置)

相關問題