Eine neue Version des Konsolenwerkzeugs Nomenus-rex ist jetzt verfügbar, das für das massenhafte Umbenennen von Dateien entwickelt wurde. Das Programm ist in C++ geschrieben und unter der GPLv3-Lizenz erhältlich. Die Regeln für das Umbenennen werden über eine Konfigurationsdatei festgelegt. Zum Beispiel: source_dir = "/home/user/work/source"; destination_dir = "/home/user/work/destination"; keep_dir_structure = false; copy_or_rename = "copy"; rules = ( { type = "date"; date_format = "%Y-%m-%d"; }, { type = "text"; text = "_"; }, { type = "dir"; // mode = "whole path"|"parent dir only" mode = "whole path"; separator = "-"; }, { type = "text"; text = "_"; }, { type = "integer"; // mode = "global"|"local at every dir" mode = "local at every dir"; start = 0; step = 1; padding = 5; }, { type = "extension"; // leave the "ext" variable empty to use an original extension ext = ""; // mode = "lowercase"|"uppercase"|"sic"; mode = "lowercase"; } );
Mit den angegebenen Einstellungen benennt das Tool die Datei „/home/user/work/source/TestDir2/file2.txt“ in „/home/user/work/destination/2022-03-16_TestDir2_0.txt“ um. Das Tool kann auch mit den Verzeichnissen HOME und XDG_CONFIG_HOME arbeiten (wo es die Konfigurationsdatei sucht, falls kein vollständiger Pfad angegeben ist) und versteht die Abkürzung „~“ für den Zugriff auf das Home-Verzeichnis.
Änderungen in der neuen Version:
- Ein neuer Regeltyp wurde hinzugefügt, der den aktuellen unvollständigen Namen als Parameter akzeptiert. Dies ermöglichte es, eine Replace-Regel hinzuzufügen, die alle Vorkommen der Teilzeichenfolge durch eine neue Zeichenfolge ersetzt.
- Jetzt werden die Dateinamen vor der Verarbeitung alphabetisch sortiert. Früher wurden die Dateien in der Reihenfolge verarbeitet, in der sie vom Dateisystem bereitgestellt wurden. In der nächsten Version wird diese Sortierung benutzerdefiniert sein.
- Die Dokumentation wurde umfassend überarbeitet, was sie benutzerfreundlicher macht.
- Interne Änderungen im Code (Beginn der Erstellung von Tests und eine neue Vorlagenfunktion zum Lesen von Enum-Variablen aus der Konfigurationsdatei), die darauf abzielen, das Hinzufügen neuer Regeln zu vereinfachen und die Anzahl neuer Fehler zu reduzieren.
Quelle: opennet.ru
