Windows上是否有/ dev / null?

雨燕双飞 提交于 2020-02-26 10:17:04

Windows上的/dev/null相当于什么?


#1楼

Windows中的NUL似乎实际上是任何文件夹中的虚拟路径。 就像.. , . 在任何文件系统中。

使用NUL后面的任何文件夹都可以。

例,

echo 1 > nul
echo 1 > c:\nul
echo 1 > c:\users\nul
echo 1 > c:\windows\nul

与Linux上的/dev/null具有相同的效果。

这是在Windows 7,64位上测试的。


#2楼

我想你想要NUL ,至少在命令提示符或批处理文件中。

例如:

type c:\autoexec.bat > NUL

不创建文件。

(我相信如果您尝试以编程方式创建文件也是如此,但我还没有尝试过。)

在PowerShell中,您需要$null

echo 1 > $null

#3楼

根据GCC邮件列表中的消息 ,您可以使用文件“nul”而不是/ dev / null:

#include <stdio.h>

int main ()
{
    FILE* outfile = fopen ("/dev/null", "w");
    if (outfile == NULL)
    {
        fputs ("could not open '/dev/null'", stderr);
    }
    outfile = fopen ("nul", "w");
    if (outfile == NULL)
    {
        fputs ("could not open 'nul'", stderr);
    }

    return 0;
}

(对此代码致Danny的信用;从他的消息中复制粘贴。)

您还可以通过重定向使用此特殊的“nul”文件。


#4楼

Jon Skeet是对的。 这是Windows Embedded文档中的Nul设备驱动程序页面(我不知道为什么它不在其他地方......)。

这是另一个:


#5楼

NUL编程方式工作。 例如以下内容:

freopen("NUL", "w", stderr);

按预期工作而不创建文件。 (MSVC ++ 12.0)

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!