web-dev-qa-db-ja.com

Windows上のPKZipCv14- @ listファイルで非ASCII filenamesを渡す方法

PKZipCのドキュメントには、非ASCIIファイル名をUTF-8としてZip内に格納する-utf8オプションが記載されていますが、@list引数を使用してpkzipc -addにそのようなファイルを追加する方法は記載されていません。

-utf8スイッチの有無にかかわらず実行することと、BOMの有無にかかわらずUTF-8またはUTF-16エンコーディングで保存された@listファイルを使用することのいくつかの組み合わせを試しましたが、すべて失敗しました。

誰かがこれを機能させるのにもっと幸運があったかどうか疑問に思います。

2
dxiv

-utf8スイッチと@listの可能なすべての組み合わせをUTF-8またはUTF-16エンコーディングで試したので、BOMの有無にかかわらず、PKZipCを使用して他に何ができるかわかりません。 Windowsとそのパラメータの場合。

PKWAREサポートに連絡して文句を言うことをお勧めしますが、すぐに解決するわけではありません。

それまでの間、非ASCII文字を含むファイル名をそのような文字を含まない名前に変換する必要があります。この形式はファイル名の短縮形と呼ばれ、基本的に8.3ファイル名の古いDOS形式です。 dir /xコマンドはこれらの名前を表示します。

一連のファイルの短い名前を取得するには、投稿を参照してください Windowsディレクトリ/ファイルの短いパスを見つけるにはどうすればよいですか? さまざまな解決策がリストされています。私は特に好きでした この答え 次のワンライナーを提案しました:

cmd /c for %A in ("C:\Program Files") do @echo %~sA

使用方法の例を次に示します。

enter image description here


IT部門がネットワーク共有でNTFS8.3の短縮名を無効にすることを決定したとおっしゃっていますが、別の方法を探すことをお勧めします。テストをお勧めするものは次のとおりです。

  • Bandizip (フリーウェアと私の個人的なお気に入り)

  • PeaZip (無料でオープンソース)

  • 7-Zip (無料でオープンソース)

  • WinRAR (商用)

  • WinZip (商用)

2
harrymc

コマンドプロンプトを使用して、これを試してください。

  • コマンドchcp 65001を実行して、cmdのコードページをutf8に変更します。

  • 次に、-utf8を指定してpkzipcコマンドを実行します。

それがあなたを助けることを願っています。

1
Tom Kim