Ich habe eine Reihe von Dateien auf einer Ubuntu-Box, deren Dateinamen verschiedene Zeichen enthalten, die Windows nicht akzeptiert (meistens ":" und "*", aber möglicherweise auch andere).
Was ist der einfachste Weg, um diese alle umzubenennen und auf einen Windows-Computer zu verschieben? Es ist in Ordnung, diese Zeichen durch "[Doppelpunkt]" und "[Sternchen]" zu ersetzen.
linux
rename
batch-rename
RomanSt
quelle
quelle
*
) vermeiden .:
, was schlimm genug ist. Das Benennen von Dokumenten nach ihrem Inhalt ist nützlich. Wenn ein Artikelname mit einer Frage endet, sollte dies auch der Dateiname sein.Antworten:
Schauen Sie sich Glindra umbenennen und entgiften .
Glindra-Dateidienstprogramme können entweder unter Windows oder Linux installiert werden. Beispiele für die Bereinigung von Dateinamen unter Windows:
Bindestrichen (Bindestrichen) zu Unterstrichen.
Reduziert Leerzeichen.
Ordnet problematische Zeichen wie *?: [] "<> | () {} Dem Unterstrich zu.
Führt die gleichen Bereinigungsvorgänge wie -safe aus und zusätzlich: Ordnet
alle 8-Bit-Zeichen aus der oberen Hälfte des lateinischen 1-Alphabets angemessenen 7-Bit-Fallback-Zeichen zu.
Ordnet die einfachen Anführungszeichen dem Unterstrich zu.
Quelle: Beheben von Unix / Linux / POSIX-Dateinamen: Steuerzeichen (wie z. B. Newline), führende Bindestriche und andere Probleme
quelle
G:\spc>rena.exe -safe -portable *.txt
Ausgänge[FATAL-ERROR] Filename syntax error: aa:a.txt
rena '*.*' -portable
, wenn Sie zu Linux wechseln , und wenn Sie möchten, dass sie rekursiv ist, verwenden Sie etwas wierena '***/*.*' -portable
unter Linux. Und ich glaube, die Umbenennung sollte unter Linux erfolgen, nicht unter Windows.Versuchen Sie es mit Recuva .
Es ist das einzige Windows-Dienstprogramm, das ich gefunden habe und das nicht Windows-freundliche Dateinamen verarbeitet.
Aktivieren Sie " Nach nicht gelöschten Dateien suchen" (zur Wiederherstellung von beschädigten oder neu formatierten Datenträgern) und scannen Sie Ihren Ordner. Aktivieren Sie beim Wiederherstellen die Ordnerstruktur wiederherstellen . Recuva "kopiert" effektiv das gesamte Verzeichnis an einen anderen Speicherort und "santitisiert" unfreundliche Dateinamen.
quelle
Ohne unter Linux zu sein und ohne etwas zu testen, glaube ich, dass man Einzeiler wie die folgenden verwenden könnte.
So ändern Sie ein Zeichen:
Und zum Schluss alle nicht alphanumerischen Zeichen entfernen:
quelle
<>:"/\|?*
Wenn sich Ihre Dateien bereits auf einem NTFS-Volume befinden, scheint das Ausführen von chkdisk unter Windows das Problem zu "lösen". Leider scheint dies durch Löschen der fehlerhaften Dateien der Fall zu sein.
quelle
Ich schaffte es mit einer Kombination der ersten beiden Antworten plus pyRenamer (GUI). Unter Linux habe ich pyRenamer verwendet, um Leerzeichen in Ordnernamen (Verzeichnissen) zu reduzieren - indem ich Leerzeichen durch nichts ersetzte -, damit die anderen Programme (Glindra-Umbenennung) rekursiv funktionieren (man könnte Unterstriche setzen). Aus Dateien habe ich auch einige Windows-akzeptable Zeichen oder Wörter herausgenommen, um Platz zu sparen, und in ähnlicher Weise Leerzeichen in Dateinamen reduziert. Ich habe dann rena ausgeführt, um Nicht-Windows-Zeichen zu entfernen, auf einem Flash-Laufwerk gespeichert und dann Recuva verwendet, um einen Ordner unter Windows wiederherzustellen. Recuva gibt an, ob ein Dateipfad zu lang ist (und entfernt auch Nicht-Windows-Zeichen). Ich habe noch kein Tool gefunden, das den Pfad von Dateinamen überprüft, um festzustellen, ob sie unter der Windows-Maximalgrenze von 255 liegen (oder 240, um einen gewissen Spielraum zu lassen).
quelle