2012-05-12 23 views
1

本周我写了一些代码来生成zip文件,并试图在Windows和Mac机器上使用它。 Mac可以正常工作(它是用Mac编写的),但Windows不太如此。生成的压缩文件,在我的Mac打开时,包含文件的单个水平,看起来像这样:使用嵌入斜杠的奇怪文件名 - Mac/Windows冲突

Filenames, as viewed through a Mac.

不是flash_out /资产的预期嵌套的文件系统,等等。我不关心巨大关于如何修复生成这些代码的代码,但我对修复这些特定文件颇费心,所以我可以在我的Mac上编译它们。现在,我不能使用这些。

奇怪的是,在Windows机器上打开这个zip文件确实将其解释为一系列文件夹嵌套的文件夹。但是将该文件系统压缩并发送回Mac,问题依然存在。我以前没见过这样的东西。

+1

您使用哪一种压缩工具来创建PC上的文件吗?您在Mac上使用哪种zip工具? –

+0

文件名以'\'斜线存储在ZIP存档内,Mac OS允许在文件名中使用这种斜线。您用来生成zip文件的库,以及您用于解压缩的工具? –

+0

Java被用来在Windows机器上创建ZIP。 Mac使用默认的“双击解压缩”功能进行解压缩。 – mtrc

回答

1

假设你正在使用bash shell,cd到该文件夹​​与乱码文件路径,并尝试这个办法:

for badfile in *\\*; do 
    goodfile="${badfile//\\//}" 
    mkdir -p "$(dirname "$goodfile")" 
    mv "$badfile" "$goodfile" 
done 
+0

是的。非常感谢! – mtrc