Guten Tag/Abend,
Vielleicht kann jemand helfen, und vielleicht hilft es auch jemand anderem. Betrachtet man das folgende Beispiel:
01022015 - BLABLABLA 04022018 - BLABLABLAB 02012016 - Blablabla
Ich möchte nach der 02 suchen, wenn sie sich am dritten und vierten Zeichen des Dateinamens befindet. So etwas wie die Suche nach „02“ nach dem zweiten Zeichen.
Auf diese Weise könnte ich alle Feb-Dateien einzeln sortieren und sie dann stapelweise richtig umbenennen.
Ist das machbar? Nachfolgend ein Beispiel für eine Suchanfrage, das als Grundlage für die weitere Entwicklung dienen kann.
Vielen Dank schon mal ~"(4)"
Antwort1
Suchen Sie nach 02, wenn es sich um das dritte und vierte Zeichen des Dateinamens handelt.
Verwenden Sie ?
ein Mustersymbol, das „1 Zeichen stark“ bedeutet:
DIR ??02*.*
Antwort2
Ich denke, dass Sie diesmal Glück haben. Der reguläre Ausdruck ist in diesem Fall recht einfach und kann sogar in derMicrosoft Windows 10Befehlszeilen-Präprozessor.
Der reguläre Ausdruck ist ??02*
.
Sie können also getrost einen Betriebssystembefehl wie den folgenden eingeben RENAME ??02* <New Name>
.
Antwort3
for /f tokens^=* %F in ('where /r . "??02*.*"')do rename "%~F" "Some_New_Name%~xF"
- Ausgabe:
rename "G:\SUPER_USER\Q59446122\310220218.txt" "Some_New_Name.txt"
rename "G:\SUPER_USER\Q59446122\110220218.txt" "Some_New_Name.txt"
rename "G:\SUPER_USER\Q59446122\100220218.txt" "Some_New_Name.txt"
rename "G:\SUPER_USER\Q59446122\Sub_1\170220218.txt" "Some_New_Name.txt"
rename "G:\SUPER_USER\Q59446122\Sub_1\030220218.txt" "Some_New_Name.txt"
Versuchen Sie Folgendes für den aktuellen Ordner:
for /f tokens^=* %F in ('where "??02*.*"')do rename "%~F"
- Ausgabe:
rename G:\SUPER_USER\Q59446122\310220218.txt Some_New_Name.txt
rename G:\SUPER_USER\Q59446122\110220218.txt Some_New_Name.txt
rename G:\SUPER_USER\Q59446122\100220218.txt Some_New_Name.txt