Windows 上の PKZipC v14 - @list ファイルで非 ASCII ファイル名を渡す方法

Windows 上の PKZipC v14 - @list ファイルで非 ASCII ファイル名を渡す方法

PKZipC のドキュメントには、ZIP 内に非 ASCII ファイル名を UTF-8 として保存するオプションが記載されていますが、の引数を-utf8使用してそのようなファイルを追加する方法については記載されていません。@listpkzipc -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変更するコマンドを実行するcmdutf8

  • 次にpkzipcコマンドを実行します-utf8

お役に立てれば幸いです。

関連情報