PKZipCのドキュメントには、非ASCIIファイル名をUTF-8としてZip内に格納する-utf8
オプションが記載されていますが、@list
引数を使用してpkzipc -add
にそのようなファイルを追加する方法は記載されていません。
-utf8
スイッチの有無にかかわらず実行することと、BOMの有無にかかわらずUTF-8またはUTF-16エンコーディングで保存された@list
ファイルを使用することのいくつかの組み合わせを試しましたが、すべて失敗しました。
誰かがこれを機能させるのにもっと幸運があったかどうか疑問に思います。
-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
使用方法の例を次に示します。
IT部門がネットワーク共有でNTFS8.3の短縮名を無効にすることを決定したとおっしゃっていますが、別の方法を探すことをお勧めします。テストをお勧めするものは次のとおりです。
コマンドプロンプトを使用して、これを試してください。
コマンドchcp 65001
を実行して、cmd
のコードページをutf8
に変更します。
次に、-utf8
を指定してpkzipc
コマンドを実行します。
それがあなたを助けることを願っています。