Ich habe eine große Menge von Dateien, von denen einige Sonderzeichen im Dateinamen enthalten (z. B. ä, ö,% und andere). Ich möchte, dass eine Skriptdatei über diese Dateien iteriert und sie umbenannt, indem sie die Sonderzeichen entfernt. Es macht mir nichts aus, was es tut, aber es könnte sie beispielsweise durch Unterstriche ersetzen.
Störung% 20.doc würde in St_rung_20.doc
umbenannt werdenIn der Reihenfolge der Präferenz:
Hintergrund: Ich versuche, diese Datei mit GnuPG unter Windows zu verschlüsseln, aber es scheint nicht mit Sonderzeichen in Dateinamen mit der Option --encrypt-files umzugehen.
Danke an Tomalak, der mich tatsächlich in die richtige Richtung geleitet hat. Ich dachte, ich würde hier für Vollständigkeit posten.
Das Problem scheint zu sein, dass die von GPG verwendete Codepage unabhängig von der in der Konsole konfigurierten Codepage fest ist (Latin I). Aber sobald er darauf hingewiesen hat, habe ich herausgefunden, wie man das funktioniert.
Der Trick besteht darin, die Codepage vor dem Erzeugen der Dateiliste zu ändern. Dadurch wird die Dateiliste in der Konsole möglicherweise als falsch angezeigt. Wenn es jedoch an GPG übergeben wird, funktioniert es gut. GPG akzeptiert die Dateien und spuckt die verschlüsselten Dateien mit korrekten Dateinamen aus.
Die Stapeldatei sieht ungefähr so aus:
%Vor% Haben Sie versucht, cmd.exe in eine andere Codepage zu setzen, bevor Sie die Dateinamen an gnupg übergeben? Geben Sie chcp 65001
ein, um cmd.exe vorher auf Unicode zu setzen, und versuchen Sie es erneut.
Wenn das fehlschlägt, würde das folgende VBScript es tun:
%Vor%nenne es so:
%Vor%Sie können auch einen Ordner per Drag & Drop in den Windows Explorer ziehen.
Von Ссылка :
Verwenden Sie die Zeichenfolgeersetzung von NT SET, um Zeichen irgendwo in einer Zeichenfolge zu ersetzen oder zu entfernen:
%Vor%Wenn Sie diesen Versuch verwenden, müssen Sie jedes Zeichen, das Sie ersetzen möchten (z. B. Ä, Ö, Ü, ä, ö, ü, ß, aber auch á, à, é, è ...) separat verarbeiten .
Nach dem 'RenameFilesWithAccentedAndDiacriticalLatinChars.pl' PERL-Skript benennt Dateien mit akzentuierten und diakritischen lateinischen Zeichen um:
Option '--batch' vermeidet interaktive Fragen. Verwenden Sie vorsichtig.
Option '-' verhindert, dass der nächste Parameter als Option interpretiert wird.
Spezielle Warnung :
Tags und Links windows batch-file filenames gnupg file-rename