我在Windows 7上运行了一个在Cygwin下编译的程序,并将“NUL”作为输出文件名传递给了它。但是,它没有抑制输出,而是在当前目录下创建了一个名为“NUL”的文件。(显然,即使在Windows上,它也期望“/dev/null”存在。)现在,我卡在了这个“NUL”文件上,无法删除!
我已经尝试过:
- Windows Explorer - 错误:“无效的MS-DOS函数”(是的,它真的是这么说的!)
- 使用命令提示符“del NUL” - 错误:“文件名、目录名或卷标语法不正确。”
- 删除整个目录-与仅删除文件相同
- 在C程序中使用
remove()
- 同样失败
除了安装完整的Cygwin环境并在Cygwin下编译一个程序来删除它们之外,我该如何摆脱这些NUL文件(我现在有好几个)?
del *.*
吗? - chqrlieNUL
具有特殊含义。如果它是在Cygwin环境中创建的,也应该可以在那里删除,即通过执行rm NUL
来实现。顺便说一下:在Windows shell(Powershell或者Batchfile中),/dev/null
不能用于表示这种情况下的“黑洞”。当然,Cygwin程序能够理解/dev/null
。 - user1934428