如何在 Windows (10) 上写入 NULL 设备/文件,以便我 ** 不** 读回写入的内容?

问题描述

Windows 确实有 null devices 的概念,例如详细的 hereherehere。我能找到的所有例子都是关于重定向流的。

在将脚本从 Linux 移植到 Windows 时,我遇到了一些奇怪的事情:如果 nul文件一样打开,我会写入它,关闭它,重新打开它并读回数据。有时。检查工作目录,我可以看到一个名为 nul文件正在创建并随着我向其中写入数据而增长。具有讽刺意味的是,我无法从资源管理器中删除它,只能从命令行中删除

Windows 10 现在带有 OpenSSH 的本机实现。我想使用一个老技巧:当它在寻找 kNown_hosts 文件时,我想将它指向一个空设备。在 Linux 上,这看起来如下:ssh -o UserKNownHostsFile=/dev/null user@host。在 Windows 上,我进行了如下测试:ssh -o UserKNownHostsFile=nul user@host我有一个名为 nul文件,其中包含主机。我还尝试了 NULnullNULL,结果相同。试图指向 \Device\Null/Device/Null 会导致 ssh 抱怨它无法找到/打开这些文件

如何在 Windows (10) 上正确使用和/或指向空设备?

解决方法

JS 人群有一个 solution:我需要指向 \\.\NUL。显然,这是空设备的实际名称或路径。