我有一个由 Cygwin 的 7za.exe 创建的目录结构 (src/...)。我从命令提示符运行rmdir /s /q src
。
这导致了错误消息(解释为我的 DOS shell 早已溢出):
无法删除 src/test/unit/geom
目录不为空
浏览到src/test/unit/geom
显示它确实是空的,所以我再次运行了相同的 rmdir 命令。同样的错误,但指向了src/test/unit
。而显示没有内容的资源管理器窗口则src/test/unit/geom
下拉到src/test/unit
。
三次 rmdir 执行之后,它就完全消失了。
这是 Windows 7,set CYGWIN=nontsec
已经运行。我相信这是建立问题已经有一段时间了,但直到现在我还没有确定罪魁祸首。
我该怎么做才能避免将来再发生这种情况?如果再次发生,我应该如何识别目录结构的损坏方面?
答案1
如果您能重现该问题,请尝试使用Sysinternals ProcMon(或 FileMon)来查看幕后发生了什么。我已经有一段时间没有看过这些东西了,但据我回忆,cygwin 执行了一些奇特的步骤来复制 Unix 语义,结果并不总是完美的。