Windows上是否有/ dev / null?

时间:2008-11-23 23:28:39

标签: windows

Windows上/dev/null的等效内容是什么?

7 个答案:

答案 0 :(得分:458)

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

例如:

type c:\autoexec.bat > NUL

不会创建文件。

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

在PowerShell中,您需要$null

echo 1 > $null

答案 1 :(得分:61)

根据此message on the GCC mailing list,您可以使用文件“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”文件。

答案 2 :(得分:40)

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位上测试的。

答案 3 :(得分:34)

Jon Skeet是对的。这是Windows Embedded文档中的Nul Device Driver页面(我不知道为什么它不在其他地方......)。

这是另一个:

答案 4 :(得分:7)

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

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

在不创建文件的情况下按预期工作。 (MSVC ++ 12.0)

答案 5 :(得分:3)

如果您需要在Microsoft Windows中执行相当于Linux中/dev/null的符号链接,您将打开并管理员cmd并输入:

对于文件:

mklink c:\path\to\file.ext NUL:

或者,对于目录:

mklink /D c:\path\to\dir NUL:

这将使文件/ direcotry始终保持在0字节,并且仍然会在每次写入尝试时返回成功。

答案 6 :(得分:0)

Windows PowerShell

键入此命令,假设mySum是您的应用程序的名称,5 10是您要发送的命令行参数。

start .\mySum  5 10 > $NUL 2>&1

start命令将启动一个分离进程,与&类似。如果您运行的程序是控制台应用程序,/B选项可防止开始打开新的终端窗口。和NUL是Windows等效的/dev/null。最后的2>&1会将stderr重定向到stdout,这将全部转到NUL