删除Windows上名为“NUL”的文件

我在Windows 7上运行了一个在Cygwin下编译的程序,并将“NUL”作为输出文件名。 它不是抑制输出,而是在当前目录中创build一个名为“NUL”的文件。 (显然它期望“/ dev / null”,即使在Windows上也是如此)。现在我被这个“NUL”文件卡住了,我不能删除它!

我已经试过了:

  • Windows资源pipe理器 – 错误:“无效的MS-DOSfunction”(是的,这是严重的说法!)
  • 命令提示符使用“del NUL” – 错误:“文件名,目录名称或卷标语法不正确。”
  • 删除整个目录 – 与删除文件相同
  • 在C程序中remove()也失败

我怎么能摆脱这些NUL文件(我现在有几个),安装完整的Cygwin环境和编译Cygwin下的C程序吗?

打开命令提示符并使用这些命令首先重命名,然后删除NUL文件:

 C:\> rename \\.\C:\..\NUL. deletefile.txt C:\> del deletefile.txt 

使用\\.\前缀告诉高级文件I / O函数将未解析的文件名传递给设备驱动程序 – 这样您可以访问其他无效的名称。

阅读这篇关于Windows中的有效文件/路径名和各种保留名称的文章。

我有一个类似的问题。 这可能是由Cygwin引起的(因为我经常使用这个),但是我已经忘记了文件是如何创建的。

我也有麻烦删除它。 我遵循其他一些职位的建议,并尝试启动到安全模式删除文件,虽然这没有做什么。 + xxbbcc的提示也不适用于我。

但是,我可以使用Cygwin终端删除文件! Cygwin创造和Cygwin破坏。

我用稍微不同的方式解决了这个问题。

我想我会在这里添加这个,因为它在谷歌结果高,我有一个名为NUL的文件夹类似的问题。

我试过rmdir\\?\C:\My\Path\NULrmdir\\.\C:\My\Path\NUL没有任何成功,也尝试了使用从我的SourceTree安装bash的几个命令。 没有快乐。

最后,我用cmd中的DIR /X /A列出父目录中的短名称。 这显示了我NUL~1为我的NUL文件夹,并确定问题的症结所在。

然后在标准命令rmdir /s NUL~1 ,最后解决了这个问题。

尝试编写一个调用Windows API的简短C程序来删除该文件。

http://msdn.microsoft.com/en-us/library/aa363915%28v=vs.85%29.aspx

如果这不起作用,请尝试使用FILE_FLAG_DELETE_ON_CLOSE打开CreateFile()文件的句柄,然后关闭句柄。