
PKZipC のドキュメントには、ZIP 内に非 ASCII ファイル名を UTF-8 として保存するオプションが記載されていますが、の引数を-utf8
使用してそのようなファイルを追加する方法については記載されていません。@list
pkzipc -add
-utf8
スイッチあり/なしで実行したり、BOM あり/なしで UTF-8 または UTF-16 エンコードで保存されたファイルを使用したりと、さまざまな組み合わせを試しました@list
が、すべて失敗しました。
これをうまく機能させるのに、もっと幸運な人がいたのだろうかと疑問に思います。
答え1
-utf8
スイッチの可能なすべての組み合わせと、 UTF-8 または UTF-16 エンコード、さらには BOM の有無を試したので@list
、PKZipC for Windows とそのパラメータを使用して他に何ができるかわかりません。
すぐに解決につながるとは限りませんが、PKWARE サポートに連絡して苦情を申し立てることをお勧めします。
それまでの間、非 ASCII 文字を含むファイル名を、そのような文字を含まない名前に変換する必要があります。この形式はファイル名の短縮形と呼ばれ、基本的には 8.3 ファイル名の古い DOS 形式です。コマンドはdir /x
これらの名前を表示します。
多数のファイルの短縮名を取得するには、投稿を参照してください。 Windows ディレクトリ/ファイルの短いパスを見つけるにはどうすればいいですか? さまざまな解決策がリストされています。特に気に入ったのはこの答え それは次のようなワンライナーを提案しました:
cmd /c for %A in ("C:\Program Files") do @echo %~sA
使用例を以下に示します。
IT 部門がネットワーク共有で NTFS 8.3 の短縮名を無効にすることを決定したとのことですが、代替案を探すことをお勧めします。テストすることをお勧めするいくつかの方法は次のとおりです。
答え2
コマンドプロンプトを使用して、これを試してください:
のコードページを
chcp 65001
変更するコマンドを実行するcmd
utf8
次に
pkzipc
コマンドを実行します-utf8
お役に立てれば幸いです。