我需要一个批处理脚本和xcopy
的帮助。我有一个文件夹里面有很多不同的文件夹。例如:"测试"是主目录,里面有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
上的错误。
答案 0 :(得分:0)
我希望我能正确理解这一点,如果我错了就告诉我。
如果存在与权限等有关的问题,XCopy应该自行抛出错误。如果只是某些内容不存在,只需在ELSE
语句中添加IF
并回显您想要的任何错误
旁注:您的脚本中有拼写错误,您检查New Folder 1
两次是否存在,而不是New Folder 1
和New Folder 2
。不知道那是不是就这样,但我想我会告诉你。
答案 1 :(得分:0)
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
注意:请始终在带有空格的路径名周围加上双引号。