【发布时间】:2015-06-16 23:27:27
【问题描述】:
我在 Windows 7 cmd 中工作。我写了几行代码来从一个相当大的目录树中复制某些文件。代码如下:
for /f "tokens=*" %a in ('dir "L:\Level1\Level2\Level3\\\*." /ad /b') do robocopy "L:\Level1\Level2\Level\%a\Level5\Level6\Level7" "c:\Destination\%a" /E /V /R:1 /W:1 /MT:32 /SEC
基本上,这会进入所有 Level4 文件夹(在 Level3 内)并复制在目录其余部分中找到的文件。
我遇到的问题是我的一些 Level4 文件夹实际上没有 Level5/Level6/Level7 路径。所以每次循环到达这些文件夹之一时,它都会使循环崩溃。
我想修改上面的代码,这样我的循环就会跳过任何导致错误的文件夹,然后继续下一个。
我在 cmd 命令行上运行它。不是批处理。
我对 cmd 代码知之甚少。因此,如果您的回答清楚地解释了修改的语法应该是什么,我将不胜感激。我知道解决方案与“错误级别”有关,但我不知道如何实施。
【问题讨论】:
-
刚刚尝试过这种模式,但无法重现您的问题。在我的例子中,循环没有中断,它只是移动到下一个项目。
标签: windows batch-file command-line error-handling cmd