在 FOR 循环中使用 FORFILES 并尝试覆盖错误

汤姆

我正在编写一个 for 循环来对 .xml 和 .psr 文件执行 forfiles 命令。目前,如果它找到一种文件类型而不是另一种文件类型,它将显示“错误:未找到具有指定搜索条件的文件”,但我希望错误说明未找到哪种文件类型。我在 for 循环中有一个 if 语句应该覆盖错误,但它不起作用。这是循环:

FOR %%G IN (.xml, .psr) DO (
    FORFILES /P "%xmlDir%" /M *%%G /D -%days% /C "CMD /C DEL @FILE"
    IF %ERRORLEVEL% NEQ 0 (
        ECHO No matches found for %%G files older than %days% days
    )
)

编辑:感谢您的回答。我的 for 循环现在按预期工作,最终看起来像这样:

FOR %%G IN (.xml, .psr) DO (
    FORFILES /P "%xmlDir%" /M *%%G /D -%days% /C "CMD /C DEL @FILE" >nul 2>nul
    IF ERRORLEVEL 1 (
        ECHO No %%G files %days% days old or older were found.
    ) ELSE (
        ECHO %%G files as old as %days% days or older have been deleted.
    )
)
麻古

标准delayed expansion错误 - 您需要调用 delayexpansion [数百篇关于此的 SO 文章 - 使用搜索功能] 以显示或使用在括号内的一系列指令(又名“代码块”)中更改的任何变量的运行时值.

IF %ERRORLEVEL% NEQ 0 (

是问题 -遇到errorlevel时由其值替换for

解决此问题的简单方法是使用常规errorlevel处理:

if errorlevel 1 (

IE。如果errorlevel是(1 或大于 1)

至于消息,请尝试2>nul将错误消息重定向到nul或使用

if exist "%xmldir%\%%G" (forfiles...
 ) else (echo no %%G files found)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

TimestampType设置覆盖错误

来自分类Dev

当我尝试在bash中的for循环中使用if时出错

来自分类Dev

在带有快速枚举的for循环中使用块的错误

来自分类Dev

在循环中的内联if语句中使用break会导致语法错误

来自分类Dev

JAVA数据覆盖错误

来自分类Dev

批处理-Forfiles循环使用多种文件类型

来自分类Dev

在循环中使用recur时出现“只能从尾部位置重现,编译”错误

来自分类Dev

在forfiles中使用调用

来自分类Dev

奇怪的错误。在循环中使用rand()和数组

来自分类Dev

尝试在内部循环中使用savechanges()保存时出现事务错误

来自分类Dev

输出forfiles错误到变量

来自分类Dev

尝试在Python循环中使用.csv文件填充嵌套字典

来自分类Dev

Lambda在for循环中使用时传递错误的参数

来自分类Dev

为什么在循环中使用$ v0寄存器会返回错误的输出?

来自分类Dev

在C中的for循环中使用结构指针时出现一些分段错误

来自分类Dev

在forfiles循环中调用时,ffmpeg覆盖输入文件

来自分类Dev

我正在尝试在循环中使用window.location.href

来自分类Dev

Forfiles命令语法错误怎么办?

来自分类Dev

在循环中使用ffmpeg时出现奇怪的错误

来自分类Dev

Guava缓存覆盖错误

来自分类Dev

JAVA数据覆盖错误

来自分类Dev

批处理-Forfiles循环使用多种文件类型

来自分类Dev

如何批量使用FORFILES的Searchmask?

来自分类Dev

forfiles循环内的if else条件

来自分类Dev

循环中使用SQL查询的自动化错误

来自分类Dev

在循环中使用getline()时出现分段错误

来自分类Dev

在循环中使用时 zip 输出在错误的位置

来自分类Dev

在 for 循环中使用 fprintf 会提供错误的值

来自分类Dev

在循环中使用 setValue() 会返回“未捕获的错误”

Related 相关文章

  1. 1

    TimestampType设置覆盖错误

  2. 2

    当我尝试在bash中的for循环中使用if时出错

  3. 3

    在带有快速枚举的for循环中使用块的错误

  4. 4

    在循环中的内联if语句中使用break会导致语法错误

  5. 5

    JAVA数据覆盖错误

  6. 6

    批处理-Forfiles循环使用多种文件类型

  7. 7

    在循环中使用recur时出现“只能从尾部位置重现,编译”错误

  8. 8

    在forfiles中使用调用

  9. 9

    奇怪的错误。在循环中使用rand()和数组

  10. 10

    尝试在内部循环中使用savechanges()保存时出现事务错误

  11. 11

    输出forfiles错误到变量

  12. 12

    尝试在Python循环中使用.csv文件填充嵌套字典

  13. 13

    Lambda在for循环中使用时传递错误的参数

  14. 14

    为什么在循环中使用$ v0寄存器会返回错误的输出?

  15. 15

    在C中的for循环中使用结构指针时出现一些分段错误

  16. 16

    在forfiles循环中调用时,ffmpeg覆盖输入文件

  17. 17

    我正在尝试在循环中使用window.location.href

  18. 18

    Forfiles命令语法错误怎么办?

  19. 19

    在循环中使用ffmpeg时出现奇怪的错误

  20. 20

    Guava缓存覆盖错误

  21. 21

    JAVA数据覆盖错误

  22. 22

    批处理-Forfiles循环使用多种文件类型

  23. 23

    如何批量使用FORFILES的Searchmask?

  24. 24

    forfiles循环内的if else条件

  25. 25

    循环中使用SQL查询的自动化错误

  26. 26

    在循环中使用getline()时出现分段错误

  27. 27

    在循环中使用时 zip 输出在错误的位置

  28. 28

    在 for 循环中使用 fprintf 会提供错误的值

  29. 29

    在循环中使用 setValue() 会返回“未捕获的错误”

热门标签

归档