gpt4 book ai didi

batch-file - 如何在 forfiles 中获取命令的 ERRORLEVEL?

转载 作者:可可西里 更新时间:2023-11-01 09:33:16 24 4
gpt4 key购买 nike

我需要处理超过一天的文件。因此我使用这个:

forfiles -m %%~nxf /C "cmd /c start /wait /MIN 7z.exe t %%f" /d +1

现在我想看看7z.exe的进度是否成功。如何在 forefiles 命令中获取命令的 errorlevel?有没有可能?

我已经尝试了以下无效的方法。 errorlevel 始终返回 0,即使我使用损坏的文件,也应该返回错误 (2)。

forfiles -m %%~nxf /C "cmd /c start /wait /MIN 7z.exe t %%f && echo ok || echo delete %%f" /d +1

forfiles -m %%~nxf /C "cmd /c start /wait /MIN 7z.exe t %%f && if errorlevel 2 (DEL %%f)" /d +1

最佳答案

假设7z.exe确实提供了 ErrorLevel ,我认为条件命令分隔符查询 ErrorLevelcmd而不是 7z.exe .以下应该有效:

forfiles /M "%%~nxf" /C "cmd /C 0x22start /WAIT /MIN 7z.exe t 0x22%%~f0x22 && echo ok || echo delete 0x22%%~f0x220x22" /D +1

或者你也可以不使用 start :

forfiles /M "%%~nxf" /C "cmd /C 0x227z.exe t 0x22%%~f0x22 && echo ok || echo delete 0x22%%~f0x220x22" /D +1

您可能已经注意到,我还修复了给定路径的一些引用问题。

关于batch-file - 如何在 forfiles 中获取命令的 ERRORLEVEL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33828488/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com