Mehrfach-Umbenenn-Tool Verzeichnisnamen mit Datum [gelöst]
Moderators: Hacker, Stefan2, white
Mehrfach-Umbenenn-Tool Verzeichnisnamen mit Datum [gelöst]
Ich will eine Anzahl von Verzeichnissen umbenennen. Die Verzeichnisse enthalten Datumsangaben in der Form TT.MM.JJJJ
Diese möchte ich herausfiltern und im Verzeichnisnamen in das Format JJJJ-MM-TT umwandeln, um die Verzeichnisse datumsmäßig sortieren zu können. Beispiel weiter unten.
Ich hab das mit [N#-#]Teil probiert.
Jedoch erkennt die Funktion den ersten Punkt als Delimiter zu einem Suffix, es werden mir nur die Zeichen um den Punkt herum zur Änderung angeboten.
Beispiel eines Verzeichnisnamens vorher:
DN 20.03.2018 Löwls Herzensprojekt
gewünscht nachher:
DN 2018-03-20 Löwls Herzensprojekt
Angeboten wird nur "DN 20.03"
Wie könnte ich das machen?
Vielen Dank für eure Unterstützung.
Diese möchte ich herausfiltern und im Verzeichnisnamen in das Format JJJJ-MM-TT umwandeln, um die Verzeichnisse datumsmäßig sortieren zu können. Beispiel weiter unten.
Ich hab das mit [N#-#]Teil probiert.
Jedoch erkennt die Funktion den ersten Punkt als Delimiter zu einem Suffix, es werden mir nur die Zeichen um den Punkt herum zur Änderung angeboten.
Beispiel eines Verzeichnisnamens vorher:
DN 20.03.2018 Löwls Herzensprojekt
gewünscht nachher:
DN 2018-03-20 Löwls Herzensprojekt
Angeboten wird nur "DN 20.03"
Wie könnte ich das machen?
Vielen Dank für eure Unterstützung.
Last edited by mausebär on 2018-03-23, 08:59 UTC, edited 1 time in total.
RegEx im MUT:
Suchen nach:Ersetzen durch: [x] [E]
[x] RegEx
Alle andere auf Defaulteinstellungen belassen.
Gruss
Holger
Suchen nach:
Code: Select all
(\d\d)\.(\d\d)\.(\d\d\d\d)
Code: Select all
$3-$2-$1
[x] RegEx
Alle andere auf Defaulteinstellungen belassen.
Gruss
Holger
Make our planet great again
Reguläre Ausdrücke mache so etwas wie eine Mustersuche.
Das Muster wird in diesem Fall mit "(\d\d)\.(\d\d)\.(\d\d\d\d)" beschreiben.
Jede Klammer () bildet dabei einen Teilausdruck.
Auf die Fundstellen von jedem Teilausdruck kann man mit den Platzhaltern $1 . . $3 später zugreifen und diese dann in einer anderen Reihenfolge anordnen: "$3-$2-$1" und damit dann das gefunden Muster ersetzen lassen.
\d steht für : eine Ziffer
\d\d steht für : zwei aufeinander folgende Ziffern
\d\d\d\d steht für : vier aufeinander folgende Ziffern
\. steht für : ein Punkt
"(\d\d)\.(\d\d)\.(\d\d\d\d)" bedeutet also:
Finde eine Folge von
- Zweistellige Zahl
- gefolgt von einem Punkt
- gefolgt von einer weiteren zweistelligen Zahl
- gefolgt von einem Punkt
- gefolgt von einer vierstelligen Zahl
Die unterstrichenen Stellen sind die Teilausdrücke.
Drück einfach F1 im MUT und folge dem Link reguläre Ausdrücke.
Dort findest du weitere Erklärungen, insbesondere zu den verschiedenen Metazeichen wie \d oder \.
Gruss
Holger
Das Muster wird in diesem Fall mit "(\d\d)\.(\d\d)\.(\d\d\d\d)" beschreiben.
Jede Klammer () bildet dabei einen Teilausdruck.
Auf die Fundstellen von jedem Teilausdruck kann man mit den Platzhaltern $1 . . $3 später zugreifen und diese dann in einer anderen Reihenfolge anordnen: "$3-$2-$1" und damit dann das gefunden Muster ersetzen lassen.
\d steht für : eine Ziffer
\d\d steht für : zwei aufeinander folgende Ziffern
\d\d\d\d steht für : vier aufeinander folgende Ziffern
\. steht für : ein Punkt
"(\d\d)\.(\d\d)\.(\d\d\d\d)" bedeutet also:
Finde eine Folge von
- Zweistellige Zahl
- gefolgt von einem Punkt
- gefolgt von einer weiteren zweistelligen Zahl
- gefolgt von einem Punkt
- gefolgt von einer vierstelligen Zahl
Die unterstrichenen Stellen sind die Teilausdrücke.
Drück einfach F1 im MUT und folge dem Link reguläre Ausdrücke.
Dort findest du weitere Erklärungen, insbesondere zu den verschiedenen Metazeichen wie \d oder \.
Gruss
Holger
Make our planet great again
Z.B. mit (für den Fall dass das Datum von Leerzeichen umgeben ist):
Suchen nach:Ersetzen mit:
(.*) : beliebige Folge von Zeichen
Die erste Fundstelle $1 enthält dann alles (bis auf das Leerzeichen) vor dem Datum.
Die Bestandteile des Datums sind dadurch jeweils eine Nummer höher: $4-$3-$2
Die letzte Fundstelle $5 enthält dann alles (bis auf das Leerzeichen) hinter dem Datum.
Gruss
Holger
Suchen nach:
Code: Select all
(.*) (\d\d)\.(\d\d)\.(\d\d\d\d) (.*)
Code: Select all
$4-$3-$2 $1 $5
Die erste Fundstelle $1 enthält dann alles (bis auf das Leerzeichen) vor dem Datum.
Die Bestandteile des Datums sind dadurch jeweils eine Nummer höher: $4-$3-$2
Die letzte Fundstelle $5 enthält dann alles (bis auf das Leerzeichen) hinter dem Datum.
Gruss
Holger
Make our planet great again
...jetzt muß ich mich nochmal melden, es funktioniert plötzlich nicht mehr...
[img]https://www2.pic-upload.de/img/35303275/Warumfunktioniertdasnicht.jpg[/img]
Kann mir jemand sagen, was ich da falsch gemacht habe...?
[img]https://www2.pic-upload.de/img/35303275/Warumfunktioniertdasnicht.jpg[/img]
Kann mir jemand sagen, was ich da falsch gemacht habe...?
- ghisler(Author)
- Site Admin
- Posts: 50390
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact: