For loop 使用“错误”;对于/R";在dos命令行上为目录循环,单词之间有空格,如;“文件和设置”;

For loop 使用“错误”;对于/R";在dos命令行上为目录循环,单词之间有空格,如;“文件和设置”;,for-loop,syntax,command,windows-xp,dos,For Loop,Syntax,Command,Windows Xp,Dos,我正在考虑使用robocopy.exe备份我在不同文件夹下从各种设备同步到“C:\documents and settings”的照片,我的命令行语法如下: 对于(.)中的/r c:\documents and settings%g,请执行c:\robocopy%g c:\photos*.jpg/xo 此语法旨在将c:\documents和settings子文件夹中的所有.jpg文件复制到c:\photos,这样我就可以在不必更改文件夹的情况下浏览thumnails,还可以避免将具有相同日期和时

我正在考虑使用robocopy.exe备份我在不同文件夹下从各种设备同步到“C:\documents and settings”的照片,我的命令行语法如下:

对于(.)中的/r c:\documents and settings%g,请执行c:\robocopy%g c:\photos*.jpg/xo

此语法旨在将c:\documents和settings子文件夹中的所有.jpg文件复制到c:\photos,这样我就可以在不必更改文件夹的情况下浏览thumnails,还可以避免将具有相同日期和时间标记的文件复制到c:\photos以节省时间

错误是循环将“文档和设置”解析为单个单词,并在C:\documents、C:\documents\下查找文件,从而导致错误

我尝试在“文档和设置”以及“\Documents和settings”周围加上引号,但没有成功

它可以很好地处理文件夹名称中没有空格的目录,如下所示,但在上面显示时失败:

对于(.)中的/r c:\abc%g,请执行c:\robocopy%g c:\photos*.jpg/xo

当文件夹c:\abc\galaxy和c:\abc\iphone中存在jpg文件时

有什么方法可以改进这个语法来实现我想要的吗

谢谢和问候
Marco Wong

您没有在robocopy的参数周围加引号,因此它的第一个参数最终是错误的。对于没有空间的路径,这无关紧要,所以这就是它工作的原因

错误代码: 对于(.)中的/r c:\documents and settings%g,请执行c:\robocopy%g c:\photos*.jpg/xo

更正代码:

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

(请注意robocopy“%g”上的引号。不仅仅是递归的文档和设置)

是否尝试在“文档和设置”周围加引号?是的,还尝试了一些网站建议的c:“\Documents and settings”。