在批处理文件中禁止错误通知?

时间:2016-02-11 00:16:39

标签: windows batch-file

我正在尝试编写一个多次运行程序的批处理文件(我的第一个批处理文件)。不幸的是,重复运行的程序有时会因错误而崩溃" [程序]遇到问题需要关闭......等等#34; (事件1000)。这是一个问题,因为为了继续,我必须手动点击错误,然后循环重新开始,直到发生另一个错误或循环结束。

cd C:\Users\username\Desktop\test_file
for %%i in ( 1 2 3 ) do (
    mkdir output%%i
    run_program.command -f envt_file.txt -b instructions.txt -p output%%i
)
cd ..

有没有办法运行" run_program.command"并抑制可能出现的任何错误消息?

(我已经看到了一些可行的解决方案,但是我害怕测试其中的一些,因为我是新手,仍然害怕批处理文件!)

(我使用的是Windows 10)

2 个答案:

答案 0 :(得分:1)

一般情况下,将>nul附加到处理生成的消息的指令中,或使用2>nul2>必须连续处理错误消息

有时,错误消息会作为标准消息生成,因此

run_program.command -f envt_file.txt -b instructions.txt -p output%%i >nul
如果每个人都遵守规则,

应该

run_program.command -f envt_file.txt -b instructions.txt -p output%%i >nul

可能需要

run_program.command -f envt_file.txt -b instructions.txt -p output%%i >nul 2>nul

是腰带和支撑。

真正取决于您是仅要处理错误消息还是仅处理所有消息。

答案 1 :(得分:0)

这个问题已被问到,所以我将在这里回答互联网记录。我有同样的问题,这是给我的解决方案。应该适用于Windows 10:

  1. 打开“组策略编辑器”(gpedit.msc)
  2. 找到“计算机配置”的方式 - > “管理员模板” - > “Windows组件” - > “Windows错误报告”
  3. 启用此设置,“防止显示严重错误的用户界面”
  4. 可选:启用此选项,“禁用Windows错误报告”将关闭任何错误报告。
  5. 如果您想知道您的程序是否已停止再次运行,该怎么办?你可以这样做:

    • 打开“事件查看器”以查看所有内容的日志或:
    • 打开“控制面板” - > “安全和维护” - > “维护” - > “查看可靠性历史”