如何在 Windows 中打开名称中带有冒号的文件?

Sam*_*mir 5 windows linux ntfs

我的 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 系统中读取(在双启动或共享磁盘的情况下)。

这些文件是自动命名和保存的,因此名称中引入冒号不是我的错。

She*_*har -1

您可以启用文件名字符翻译 来解决此问题。
您必须修改文件名字符映射的注册表以替换非法字符。由于您将修改注册表,因此标准警告适用。
Windows 教程 在这里(之前的链接现已失效;但是它已存档在这里