
In der PKZipC-Dokumentation wird die -utf8
Option erwähnt, nicht-ASCII-Dateinamen als UTF-8 in einem ZIP zu speichern, es wird jedoch nicht erklärt, wie solche Dateien mit einem @list
Argument hinzugefügt werden pkzipc -add
.
Ich habe verschiedene Kombinationen aus Ausführung mit/ohne Schalter -utf8
und Verwendung @list
von in UTF-8- oder UTF-16-Kodierungen gespeicherten Dateien mit/ohne BOMs ausprobiert, aber alle diese Kombinationen sind fehlgeschlagen.
Ich frage mich, ob jemand mehr Glück damit hatte, dies zum Laufen zu bringen.
Antwort1
Da Sie alle möglichen Kombinationen des -utf8
Schalters und @list
mit UTF-8- oder UTF-16-Kodierung und sogar mit/ohne BOMs ausprobiert haben, weiß ich nicht, was Sie mit PKZipC für Windows und seinen Parametern sonst noch tun können.
Ich würde raten, sich an den PKWARE-Support zu wenden und sich zu beschweren, obwohl dies möglicherweise nicht sofort eine Lösung bringt.
In der Zwischenzeit müssen Sie Dateinamen, die Nicht-ASCII-Zeichen enthalten, in Namen ohne solche Zeichen umwandeln. Dieses Format wird als Kurzform des Dateinamens bezeichnet und entspricht im Wesentlichen dem alten DOS-Format des 8.3-Dateinamens. Der dir /x
Befehl zeigt diese Namen an.
Um die Kurznamen für eine Reihe von Dateien zu erhalten, siehe den Beitrag Wie kann ich den Kurzpfad eines Windows-Verzeichnisses/einer Windows-Datei finden? wo verschiedene Lösungen aufgelistet sind. Besonders gut hat mir gefallendiese Antwort der den folgenden Einzeiler vorschlug:
cmd /c for %A in ("C:\Program Files") do @echo %~sA
Hier ist ein Beispiel, wie Sie es verwenden können:
Da Sie sagen, dass Ihre IT beschlossen hat, die Kurznamen von NTFS 8.3 auf Ihren Netzwerkfreigaben zu deaktivieren, würde ich vorschlagen, nach einer Alternative zu suchen. Einige, die ich testen würde, sind:
Antwort2
Versuchen Sie mithilfe der Eingabeaufforderung Folgendes:
Führen Sie den Befehl aus
chcp 65001
, umcmd
die Codepage zu ändern inutf8
Führen Sie dann Ihren
pkzipc
Befehl aus mit-utf8
Hoffe, es hilft dir.