windows - 发生错误时跳过

标签 windows batch-file cmd skip

我有以下批处理代码(cmd):

for /f "delims=" %%f in ('dir /b /s Example') do (
command
if %errorlevel%==1 (
command
SKIP
)
command
)

编辑: 为了让事情更清楚: for/f... 搜索名为“Example”的目录并循环搜索多个目录。 第一个 command 是删除命令,它删除目录中的所有文件。 发生错误时发生的 command 是一个 echo 命令,它将有关错误的一些信息写入文本文件。 现在是洞 skip 的东西;有时,由于access deniedthis file is in use by...,文件无法删除。通常情况下,如果没有跳过的东西会发生什么,它只会停止命令并挂起。所以,我想做的是防止这种情况发生。或者,我想使用 skip 之类的东西,这样它就可以跳过文件并继续。所以我认为这个命令需要通过管道传输到 delete 命令中。

我希望现在一切都清楚了。

提前致谢。

最佳答案

像这样?

for /f "delims=" %%f in ('dir /b /s Example') do (
  command
  if not errorlevel 1 (
    command-for-success
  ) else (
    command-for-error
  )
)

关于windows - 发生错误时跳过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1966671/

相关文章:

c++ - 在Windows上打开文件的内存开销是多少?

c++ - 在 vs 2003 上将管道(处理程序)转换为 fd 时出错

windows - 如何打开 Windows 资源管理器并将文件路径保存到 Matlab 中的文本框?

batch-file - 如何连接所有 ffmpeg 输入而不使用 Windows 批处理脚本将它们映射到过滤器中?

unicode - 如果调用 chcp,则不会执行批处理脚本

c - Windows - 我们可以从鼠标点击 "clickable"中推断出什么?

python - 如何使用命令行在 Windows 中禁用混合关机

windows - 从 .exe 中获取签名者姓名的命令

windows - 为什么特定的 Windows 批处理参数会导致崩溃?

windows - 为什么在运行应该查找 *.exe 文件并输出其名称的 FOR 循环时始终显示相同的文件名?