Windows 上的 PKZipC v14 - 如何在 @list 檔案中傳遞非 ASCII 檔名

Windows 上的 PKZipC v14 - 如何在 @list 檔案中傳遞非 ASCII 檔名

PKZipC 文件提到了-utf8在 ZIP 中將非 ASCII 檔案名稱儲存為 UTF-8 的選項,但沒有說明如何@list使用pkzipc -add.

我嘗試了使用/不使用-utf8開關運行的幾種組合,以及使用@list以 UTF-8 或 UTF-16 編碼保存的帶/不帶 BOM 的文件,但它們都失敗了。

我想知道是否有人有更好的運氣讓它發揮作用。

答案1

由於您已經嘗試了所有可能的開關組合-utf8以及@list UTF-8 或 UTF-16 編碼,甚至帶/不帶 BOM,我不知道使用 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

希望對您有幫助。

相關內容