使用 Cygwin 后无法在 Windows 7 中删除网络驱动器中的文件夹

Posted

技术标签:

【中文标题】使用 Cygwin 后无法在 Windows 7 中删除网络驱动器中的文件夹【英文标题】:Cannot delete folder in network drive in Windows 7 after using Cygwin 【发布时间】:2015-01-23 05:03:53 【问题描述】:

我使用的是 Windows 7 并在其上安装了 Cygwin。使用 Cygwin,我最近尝试在网络驱动器中使用 Vim 编写一个新文件。当试图保存它时,Vim 抱怨该文件是只读的(ls -la 表明该驱动器上的文件只有很少的权限,这似乎很奇怪,因为如果我使用 Git Bash 尝试相同的权限会有很大的不同)。

我还是强制 Vim 写入文件,但退出后文件在 Windows 资源管理器或任何 Unix shell 中都不存在。然后我尝试重命名保存文件的文件夹(Includes -> IncludesOld),使用原始名称创建一个新文件夹并将所有文件移动到新文件夹。这使原始文件夹 (IncludesOld) 为空,但我无法删除它。如果我尝试删除它,则不会出现错误消息,但该文件夹仍然存在。

我猜这与 Cygwin 维护自己的文件系统视图有关,这与我看到的不一致,但我不确定该怎么做。

运行 mount 会产生以下输出:

C:/cygwin64/bin on /usr/bin type ntfs (binary,auto)
C:/cygwin64/lib on /usr/lib type ntfs (binary,auto)
C:/cygwin64 on / type ntfs (binary,auto)
B: on /cygdrive/b type udf (binary,noacl,posix=0,user,noumount,auto)
C: on /cygdrive/c type ntfs (binary,noacl,posix=0,user,noumount,auto)
D: on /cygdrive/d type ntfs (binary,noacl,posix=0,user,noumount,auto)
E: on /cygdrive/e type ntfs (binary,noacl,posix=0,user,noumount,auto)
O: on /cygdrive/o type ntfs (binary,noacl,posix=0,user,noumount,auto)
S: on /cygdrive/s type ntfs (binary,noacl,posix=0,user,noumount,auto)
T: on /cygdrive/t type ntfs (binary,noacl,posix=0,user,noumount,auto)
U: on /cygdrive/u type ntfs (binary,noacl,posix=0,user,noumount,auto)
W: on /cygdrive/w type ntfs (binary,noacl,posix=0,user,noumount,auto)
X: on /cygdrive/x type ntfs (binary,noacl,posix=0,user,noumount,auto)

有问题的文件夹在W: 驱动器上,但运行umount /cygdrive/w 给我umount: /cygdrive/w: Invalid argument,我只是猜测这是我应该尝试做的事情。

【问题讨论】:

你试过重启了吗? @HarryJohnston 我有,但它不起作用。 【参考方案1】:

AFAIK,使用rm -rf <folder name> 可以轻松删除文件夹。如果出现问题,您可以尝试sudo chown <username:group> <folder name> 并再次运行rm -rf。如果问题仍然存在,请在您的问题中添加lsattr <folder name> 返回的内容。

【讨论】:

【参考方案2】:

我假设您尝试使用 cygwin 和本机 Windows 方法删除 IncludesOld。由于您提到该目录位于网络挂载中,因此我将转到托管该文件夹的计算机,并尝试使用该计算机上运行的操作系统的本机方法直接从那里删除。如果这不起作用,那么我会检查磁盘卷是否存在文件系统错误。

【讨论】:

【参考方案3】:

我发布这个问题差不多两年了,所以我在这里记着,但我相信我设法通过在 Windows 资源管理器中右键单击文件夹 (includesOld) 来修复它,然后转到“安全”选项卡。我隐约记得一些关于没有所有权限并更改安全设置以让我完全控制的事情。之后,我就可以删除它了。

【讨论】:

以上是关于使用 Cygwin 后无法在 Windows 7 中删除网络驱动器中的文件夹的主要内容,如果未能解决你的问题,请参考以下文章

源码时代前端干货分享|swoole开启后无法访问问题

无法在 Windows 7 上编译 restbed

如何在Visual Studio 2015中使用fork()? (Windows 7专业版)

Windows - 使用 mingw 进行 pip 安装 - 失败 - cc1.exe:错误:无法识别的命令行选项“-mno-cygwin”

Windows下ElasticSearch的使用方式 CURL+Cygwin+Head插件

如何在 Windows 上的 Cygwin 中运行 crontab?