这让我困扰了好几天。我知道标准流重定向到 NUL 设备,但事实并非如此。node.js 在其 fs native/libuv 绑定下使用 CreateFileW。
不幸的是使用类似的东西:
require('fs').writeFileSync('NUL', 'foo')
在具有 3 个字节的 cwd 中创建一个 NUL 文件。
我尝试写入 \Device\Null,但由于我几乎是一个 *nix 头,其中一切都是文件,我实际上未能找到 \Device\Null 的工作路径。例如抛出 ENOENT 的 \\.\Device\Null。
关于如何在 Windows 下进行这项工作的任何想法?
这似乎是相关的,但我无法跟踪从 lib/fs.js 到 uv/src/win/fs.c 的整个流程,以检查路径参数是否受到某种相对于绝对路径解析的影响。