Eine neue Version des Konsolen-Tools Nomenus-rex, das fĂŒr die Massenumbenennung von Dateien entwickelt wurde, ist verfĂŒgbar. Die Software ist in C++ geschrieben und wird unter der GPLv3-Lizenz vertrieben. Die Regeln fĂŒr die Umbenennung können ĂŒber eine Konfigurationsdatei angepasst werden. 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"; } );
Bei Verwendung der 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 der vollstĂ€ndige Pfad nicht angegeben ist) und versteht die AbkĂŒrzung "~" zur Ansprache des Heimatverzeichnisses.
Ănderungen in der neuen Version:
- Ein neuer Regeltyp wurde hinzugefĂŒgt, der den aktuellen unvollstĂ€ndigen Namen als Parameter akzeptiert. Dies ermöglichte die HinzufĂŒgung der Regel replace, die alle Vorkommen eines substrings durch einen neuen String ersetzt.
- Jetzt werden die Dateinamen vor der Verarbeitung alphabetisch sortiert. Zuvor wurden die Dateien in der Reihenfolge bearbeitet, wie sie vom Dateisystem bereitgestellt wurden. In der nÀchsten Version wird diese Sortierung benutzerdefiniert sein.
- Die Dokumentation wurde mehrmals ĂŒberarbeitet, was sie benutzerfreundlicher gemacht hat.
- Interne Ănderungen im Code (Beginn der Erstellung von Tests und neue Vorlagenfunktion zum Auslesen von enum-Variablen aus der Konfigurationsdatei), die darauf abzielen, die HinzufĂŒgung neuer Regeln zu erleichtern und die Anzahl neuer Fehler zu reduzieren.
Quelle: opennet.ru
