内部版本 14361

内部版本 14361

Bash-on-Ubuntu-on-Windows 支持区分大小写的文件路径。这意味着我可以创建两个文件或目录,它们的名称仅在大小写上有所不同。但我在访问这些文件时遇到了问题。

跑步

bash -c "touch Magic ; mkdir magic ; echo Secret! > magic/secret"

创建一个名为 的文件Magic、一个名为 的目录以及在该目录中magic一个名为 的文件。secret

bash -c "ls -lR"产量

.:
total 0
drwxrwxrwx 2 root root 0 Aug 23 10:37 magic
-rwxrwxrwx 1 root root 0 Aug 23 10:37 Magic

./magic:
total 0
-rwxrwxrwx 1 root root 8 Aug 23 10:37 secret

(我不确定为什么我会得到root,因为它不是默认用户,但这似乎与我的问题无关。)

Windows 资源管理器显示: Windows 资源管理器显示文件和目录

现在,虽然bash可以轻松访问magic/secret目录中的文件,但 Windows 似乎将目录和文件视为同一个。因此双击目录时,我收到“目录名称无效”错误 双击目录时出错

使用也是一样cd,因为我已经将The directory name is invalid.其打印出来了。

除了使用 Bash 之外,还有其他方法可以访问该magic/secret文件吗?

部分答案

我找到了一种通过编程实现的方法,只需更改一些注册表即可。描述这里。但似乎没有办法用现有的 Windows 工具来实现这一点。

答案1

您无法在 Explorer 中访问这些文件夹,因为 Win32 子系统不支持区分大小写,而 Explorer 不支持 POSIX 子系统

内部版本 14361

有关版本 14361 的一般 Windows 信息请访问 Windows 博客。

要跟踪或报告问题,请访问我们的 Github 页面。

固定的

  • 在 Windows 上的 Ubuntu 上的 Bash 中运行时,DrvFs 现在区分大小写。

  • 用户可以在 /mnt/c 驱动器上查看 case.txt 和 CASE.TXT

  • 仅在 Windows 上的 Ubuntu 上的 Bash 中支持区分大小写。在 Bash 之外时,NTFS 将正确报告文件,但在与 Windows 中的文件交互时可能会发生意外行为。

  • 每个卷的根目录(即 /mnt/c)不区分大小写

  • 有关在 Windows 中处理这些文件的更多信息,请参见这里

https://docs.microsoft.com/en-us/windows/wsl/release-notes#build-14361

相关内容