在批处理文件中,我有这个用于复制文件的代码:
else:
return 'Only lists allowed'
问题是它不会复制文件名中包含空格的文件,例如FOR /F "tokens=*" %%f IN ('DIR /S /B *.png,*.jpg,*.pneg,*.jpeg') DO (
XCOPY /H /S /Y /EXCLUDE:%EXFdestination%\EXF.txt %%~f "%destination%\"
)
,它只会复制文件名为D:\Exemple Directory\file.jpg
我尝试使用D:\ExampleDirectory\file.jpg
代替tokens=*
,但它无法解决问题。
答案 0 :(得分:1)
足够简单:使用"%%~f"
代替%%~f
答案 1 :(得分:0)
您可以绕过for循环并使用Robocopy。
以下是一个例子:
ROBOCOPY "C:\Source" "C:\Destination" *.png *.jpg *.pneg *.jpeg /s
还有排除选项 / XF 和 / XD ,但我们还没有看到您的排除文件 EXF.txt 的内容。