【问题标题】:Error Message still appears with >nul 2>nul错误消息仍然出现 >nul 2>nul
【发布时间】:2023-03-27 00:48:01
【问题描述】:

批处理文件输出“系统找不到指定的文件”。而不是将错误重定向到nul

set /p firstline=<text.txt >nul 2>nul
pause

我需要做什么来抑制错误消息

【问题讨论】:

  • 你实际上并没有 >nul 在上面的代码中。
  • 我很抱歉代码输出出了点问题......

标签: file batch-file cmd


【解决方案1】:

使用此代码重定向将被忽略。我不知道为什么,我的猜测是因为重定向机制本身发生错误,以后的redirs永远不会运行。

在您期望错误的地方强制分离重定向 - 使用 ():

(set /p firstline=<text.txt) >nul 2>nul

您还可以考虑使用不同的语法将所有内容重定向到一个输出:

(set /p firstline=<foo2.txt) >nul 2>&1

【讨论】:

    【解决方案2】:

    似乎确实如此(在 Win7 上测试)。似乎是一个类似错误的功能。 :-) 如果您的批处理文件足够简单,您可以通过使用2&gt;nul(即foo.cmd 2&gt;nul)调用您的批处理文件来解决此问题。

    或者,您可以将该行放在它自己的批处理文件中(例如,setfirstline.cmd)并使用“父”批处理文件中的call setfirstline.cmd 2&gt;nul。哈克,但功能齐全。

    【讨论】:

      猜你喜欢
      • 2021-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-08
      • 1970-01-01
      • 1970-01-01
      • 2015-04-11
      • 1970-01-01
      相关资源
      最近更新 更多