我正在处理一个批处理文件,将一些文件从一个文件夹复制到另一个文件夹。 如果我在批处理上定义路径,则 xcopy 命令将不起作用。如果我不定义变量,xcopy 命令将正常工作。
示例 1,这不起作用:
@echo off
set pathA=C:\xx\kk
set pathB=C:\xx\mm
xcopy "%pathA%\*.doc" "%pathB%"
示例 2,这将起作用:
@echo off
xcopy "C:\xx\kk\*.doc" "C:\xx\mm"
我正在使用的路径非常长,因此我想将它们定义为变量,并避免每次使用它们时都编写它们。
你们知道为什么 xcopy 在示例 1 中不起作用吗?我该如何解决它?
谢谢!
问题出在设置变量时的反斜杠。我刚刚将变量设置为:
set pathA=C:\xx\kk\
set pathB=C:\xx\mm\
并将 xcopy 称为:
xcopy "%pathA%*.doc" "%pathB%" /S /E /Y
仍然不知道为什么,但现在效果很好!
再次感谢您的帮助!
确保 set 命令末尾没有空格字符。 如果这样做,%pathA% 解析为“C:\xx\kk\ *.doc”,而不是“C:\xx\kk*.doc”