我需要一个批处理脚本和xcopy
的一点帮助。我有一个文件夹里面有很多不同的文件夹。例如:“Test”是主目录,里面我有New folder 1
,New folder 2
,New folder 3
......每周这些文件夹都必须复制到不同的服务器。
我的脚本是:
if exist "%dir%\New folder 1" (
xcopy %dir%\New folder 1 C:\Users\user1\New folder1 /i /q /s /y /z
echo New folder 1 copied successfully
)
if exist "%dir%\New folder 2" (
xcopy %dir%\New folder 2 C:\Users\user1\New folder2 /i /q /s /y /z
echo New folder 2 copied successfully
)
当cmd
无法复制某些文件时,我需要更新我的脚本以显示xcopy
上的错误。
我希望我能正确理解这一点,如果我错了,请告诉我。
如果存在与权限等有关的问题,XCopy应该自己抛出错误。如果只是某些东西不存在,只需在你的ELSE
语句中添加一个IF
并回显你想要的任何错误。
旁注:你的剧本中有一个拼写错误,你要检查New Folder 1
的存在两次,而不是New Folder 1
和New Folder 2
。不确定那是不是就这样,但我想我会告诉你的。
Xcopy返回上一个操作的错误代码,您可以使用&&
和||
操作符来检查:
@echo off &setlocal
if exist "%dir%\New folder 1" xcopy "%dir%\New folder 1" "C:\Users\user1\New folder1" /i /q /s /y /z && echo New folder 1 copied successfully || echo copied NOT successfully
if exist "%dir%\New folder 2" xcopy "%dir%\New folder 2" "C:\Users\user1\New folder2" /i /q /s /y /z && echo New folder 2 copied successfully || echo copied NOT successfully
注意:始终在带有空格的路径名周围加上双引号。