美文网首页
win使用echo 2>nul报错: 系统找不到指定文件 ||

win使用echo 2>nul报错: 系统找不到指定文件 ||

作者: 春苟哈皮 | 来源:发表于2018-12-10 17:48 被阅读0次

今天在测试bat脚本的时候,有一句是将一个值输入到nul中。nul在批处理中中代表着空设备,输出到nul中则意味着屏蔽掉输出内容。
但是在运行脚本的时候,这个操作会报错系统找不到指定文件。如果出现这个操作,证明系统中的c:/Window/System32/drivers/null.sys文件不可用或者不存在。git bash的闪退也是因为这个原因。
一步步排查问题:

  1. 检查文件是否存在
    c:/Window/System32/drivers目录下如果不存在null.sys文件,跳到第4步。
    存在则继续第2步。
  2. 管理员身份运行cmd
  3. 查询服务null状态
sc query null

可以看到服务的状态为停止状态。

  1. 尝试重新启动
sc start null

[SC] StartService 失败 577:
Windows 无法验证此文件的数字签名。某软件或硬件最近有所更改,可能安装了签名错误或损毁的文件,或者安装的文件可能是来路不明的恶意软件。

这一步的提示就证明null文件不可用,去下载可用的null.sys文件覆盖之前的文件。

  1. 重新启动服务
sc start null

启动成功。
再次去cmd中echo 1>nul,不再报错。

相关文章

网友评论

      本文标题:win使用echo 2>nul报错: 系统找不到指定文件 ||

      本文链接:https://www.haomeiwen.com/subject/wasdhqtx.html