如果XCOPY无法找到文件,则批处理脚本将终止

时间:2012-03-09 06:58:21

标签: scripting batch-file

参考以下代码段

xcopy D:\CBS_Upgrade\CBS2.2_DEV_B%CBSBuild%\DDLs-Lending Database\CBS-Upgrade\DDLs-Lending /S

我想找出脚本为何终止并且之后没有执行命令的原因? 有没有办法解决它?

我知道该文件不存在,但我希望脚本继续执行下一个命令。

xcopy显示的消息是

File not found - DDLs-Lending
0 File(s) Copied.

3 个答案:

答案 0 :(得分:3)

简单的解决方案是使用/c开关,它指示xcopy命令忽略任何错误。 xcopy命令的完整文档可用here on MSDN

但是Joey是正确的,批处理文件将继续执行,无论其中包含的单个命令是否失败。所以我不完全确定你要解决的问题是什么。

答案 1 :(得分:2)

即使命令失败,批处理文件也会继续。如果您只想抑制错误输出,则可以将2>nul附加到命令。

答案 2 :(得分:2)

如果正在执行某些复杂操作(例如管道),批处理文件将在Windows下终止。例如,如果awk不存在,则以下命令将终止批处理文件:

awk -? | find "*****"
echo never gets here