win使用echo 2>nul报错: 系统找不到指定文件 || gitbash闪退问题的解决方式

今天在测试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,不再报错。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容