2012-05-12 2 views
1

zipファイルを生成するために今週コードを書いて、WindowsマシンとMacマシンの両方で使用しようとしました。 Macはうまく動作する(それはMacで書かれている)が、Windowsはそれほどではない。結果のzipファイル、私のMac上で開くと、次のようになり、ファイルの単一レベルが含まれています。むしろflash_out /資産の期待ネストされたファイルシステムなどよりスラッシュが埋め込まれた奇妙なファイル名 - Mac/Windowsの競合

Filenames, as viewed through a Mac.

私は非常心配ありませんよどのようにこれらを生成したコードを修正する方法については、私は私のMacでそれらをコンパイルすることができますので、これらの特定のファイルを修正するためにむしろ気になります。それが現れても、私はこれらを使うことはできません。

奇妙なことは、Windowsマシン上でこのzipを開くと、ファイルが入った一連のネストされたフォルダとして解釈されることです。しかし、そのファイルシステムを圧縮してMacに戻すと、問題は解決しません。私はこれまで全く同じようなものは見ていない。

+1

を? MacではどのZIPツールを使用していますか? –

+0

ファイル名は '\'でZIPアーカイブ内に保存され、Mac OSではファイル名にスラッシュを使用できます。あなたはzipファイルを生成するためにどのライブラリを使用しましたか、解凍にどのツールを使用していますか? –

+0

Windowsマシン上にZIPを作成するためにJavaが使用されました。 Macは、デフォルトの「ダブルクリックして解凍」機能を使用して解凍しています。確かにそうです。 – mtrc

答えて

1

、あなたはbashシェルを使用していると仮定すると、文字化けしたファイルパスのフォルダにcdし、この試してください:ジップツールあなたがPC上のファイルを作成するために使用しました

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

どうもありがとう! – mtrc

関連する問題