当文件名包含冒号时,如何在 Windows 中提取 tar 文件?

当文件名包含冒号时,如何在 Windows 中提取 tar 文件?

我在 Linux 系统上创建了一个 tar(.gz) 文件,文件名包含冒号。我在 Windows 上找到的 tar 实用程序根本无法提取这些文件。我该如何做,最好从命令行做?

如果有某种方法可以在压缩端进行文件名翻译,那也可以。

为了更清楚地说明我的意思:

# on linux system
touch example:file
tar cvf test.tar example:file

# copy test.tar to windows system
tar xvf test.tar
... can't create 'example:file': Invalid argument

答案1

7-zip提取包含名称包含冒号的文件的 tar 文件。它用下划线替换冒号。

7-zip 也可以通过命令行使用,例如:

"c:\Program Files\7-Zip\7z.exe" x tar_containing_files_with_colons_in_names.tar

答案2

冒号用于表示替代文件流。这可能是导致问题的原因。

如果您能够回显文件,则可能能够将其导入tar提取器。此外,由于您将提取它,因此您可能能够重命名它。如果您无法使用全名引用文件,则可能能够对冒号前的部分使用通配符匹配。例如,如果是,something:else.tgz您可能能够将其引用为something*,如果相同的文件不多。

最后一件事可能是看看这个文件的dos 简称是并使用它而不是完整的长名称来引用。

相关内容