我的 C 驱动器上有一些文件名称中带有冒号。我很确定它们是在我之前使用过的一些 Linux 发行版中创建的。我知道 Linux 支持文件名中的冒号,而 Windows 不支持。Linux 甚至允许在 Microsoft 的 NTFS 文件系统上保存带冒号的文件。我目前没有安装 Linux 发行版。我只安装了Windows。现在我回到了 Windows,我该如何打开这个文件呢?重新安装Linux?重命名不起作用,因为我收到错误。有没有办法在不使用Linux的情况下在Windows中打开这些文件?它们是 PNG 图片文件,因此 Windows 可以读取它们,但由于文件路径无效而找不到它们。
如果我双击其中一个文件,Windows 照片库会尝试打开它并报告:
There are no pictures or videos selected.
Run Code Online (Sandbox Code Playgroud)
如果我尝试在 Microsoft Paint 中打开它,它会报告:
C:\file:name.png contains an invalid path.
Run Code Online (Sandbox Code Playgroud)
如果我尝试在 Windows 资源管理器中重命名它(例如用下划线替换冒号),它会报告:
The file name you specified is no valid or too long.
Specify a different file name.
Run Code Online (Sandbox Code Playgroud)
Windows 中的文件名中禁止使用以下字符。
A file name cannot contain any of the following characters.
\/:*?<>|
Run Code Online (Sandbox Code Playgroud)
当然,Linux 开发者一定知道这些限制吧?我不明白为什么他们允许 Linux 在 NTFS 分区的文件名中保存冒号……这没有意义。即使 Linux 本身可以读取它们,这些分区也可能在 Windows …