我在Windows 7上运行了一个在Cygwin下编译的程序,并将“NUL”作为输出文件名。 它不是抑制输出,而是在当前目录中创build一个名为“NUL”的文件。 (显然它期望“/ dev / null”,即使在Windows上也是如此)。现在我被这个“NUL”文件卡住了,我不能删除它!
我已经试过了:
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\NUL
和rmdir\\.\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()文件的句柄,然后关闭句柄。