MUT: Zahlen ordnen, führende Null ergänzen zu Zweistellig

German support forum

Moderators: white, Hacker, Stefan2

Post Reply
User avatar
Lucky Joe
Member
Member
Posts: 161
Joined: 2012-07-25, 10:30 UTC

MUT: Zahlen ordnen, führende Null ergänzen zu Zweistellig

Post by *Lucky Joe »

Hallo zusammen,

ich habe ein Unterverzeichnis mit über 500 Dateien, die als Dateinamen ausschließlich Ziffern und Punkte besitzen. Alle haben die Dateiendung ".ps1".
Leider sind die Dateinamen unterschiedlich lang, so dass eine Sortierung nach Name unbefriedigend ist. Ich möchte die Dateien daher so umbenennen, dass ich damit eine tatsächlich sortierte Anzeige bekomme.

Die Dateinamen haben:
- entweder eine Ziffer oder zwei
- immer genau einen Punkt danach
- immer eine oder zwei Ziffern danach

... also z.B.:
1.1.ps1
1.2.ps1
10.1.ps1
10.2.ps1
...
10.14.ps1
2.9.ps1
2.12.ps1

Ich möchte erreichen, dass jeder Dateiname quasi mit "führenden Nullen" aufgefüllt wird, also z.B.:

aus 1.1.ps1 wird 01.01.ps1
aus 1.2.ps1 wird 01.02.ps1
aus 10.4.ps1 wird 10.04.ps1
aus 2.14.ps1 wird 02.14.ps1
usw.

Was stelle ich da ein? Vermute mal irgendwie regex... aber ich trau mich nicht :oops:

Danke im Voraus!
Lucky Joe
User avatar
HolgerK
Power Member
Power Member
Posts: 5406
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Re: MUT - Zahlen ordnen

Post by *HolgerK »

Lucky Joe wrote:Leider sind die Dateinamen unterschiedlich lang, so dass eine Sortierung nach Name unbefriedigend ist. Ich möchte die Dateien daher so umbenennen, dass ich damit eine tatsächlich sortierte Anzeige bekomme.
Warum umbenennen, wenn
"Konfigurieren -> Optionen...-> Ansicht-> Sortiermethode: "Natürl. Sortierung: Alphabetisch und nach Nummer"
wahrscheinlich genau die von dir gewünschte sortierte Reihenfolge erzeugt?

Gruss
Holger
User avatar
milo1012
Power Member
Power Member
Posts: 1158
Joined: 2012-02-02, 19:23 UTC

Post by *milo1012 »

Um RegEx kommst du bei so einer Aufgabe nicht herum, und musst in mehreren Gruppen arbeiten, also das MUT dreimal (auf alle Dateien) benutzen um jeweils andere Typen "zu erwischen".

z.B.

Gruppe 1 - beide Zahlen ohne führende Nullen

Suchen nach:

Code: Select all

^(\d)\.(\d)(\.ps1)
Ersetzen durch

Code: Select all

0$1.0$2$3
[x]RegEx


Gruppe 2 - Letzte Zahl ohne führende Nullen

Suchen nach:

Code: Select all

^(\d\d)\.(\d)(\.ps1)

Code: Select all

Ersetzen durch
$1.0$2$3
[x]RegEx


Gruppe 3 - Erste Zahl ohne führende Nullen

Suchen nach:

Code: Select all

^(\d)\.(\d\d)(\.ps1)
Ersetzen durch

Code: Select all

0$1.$2$3
[x]RegEx


Könnte man vielleicht noch etwas optimieren, aber einfacher wird der Ausdruck dann auch nicht.
TC plugins: PCREsearch and RegXtract
User avatar
milo1012
Power Member
Power Member
Posts: 1158
Joined: 2012-02-02, 19:23 UTC

Re: MUT - Zahlen ordnen

Post by *milo1012 »

2HolgerK
Prinzipiell würde ich ja zustimmen, aber weil das im TC optional geht, heißt es ja nicht automatisch dass es in anderen Tools und Betriebssystemen auch funktioniert.
Im Gegenteil, mich stört es wenn irgend ein Paket von Dateien die ich aus dem Netz lade - egal ob nun nummerierte Fotos, Musik oder sonstwas - keine führenden Nullen haben. Genau so beim "Track"-Feld in ID3-tags von mp3-Dateien, weil dann selbst mein mp3-Player oder sogar manche angeblich fortgeschrittene Apps auf Smartphones damit nicht zurechtkommen und eben falsch sortieren.
TC plugins: PCREsearch and RegXtract
User avatar
Stefan2
Power Member
Power Member
Posts: 4133
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Re: MUT: Zahlen ordnen = führende Null einsetzen

Post by *Stefan2 »

Lucky Joe wrote:Ich möchte erreichen, dass jeder Dateiname quasi mit "führenden Nullen" aufgefüllt wird,
Probier's mal so:

VON:
1.1.ps1
1.2.ps1
10.1.ps1
10.2.ps1
10.14.ps1
2.9.ps1
2.12.ps1


ZU:
01.01.ps1
01.02.ps1
02.09.ps1
02.12.ps1
10.01.ps1
10.02.ps1
10.14.ps1


mit MUT:
Name: [N]
Erweiterung: [E]
Suche: \b(\d)\.
Ersetze: 0$1.
[✔][E]
[✔]RegEx


Der RegEx scheint mit dem TC zu funktionieren.


Erklärung

Suche:
\b = Wortgrenze
(...) = speichere Treffer für später
\d = eine Ziffer
\. = ein Punkt


Ersetze:
0 = die Ziffer Null
$1 = füge gespeicherten Treffer ein
. = ein Punkt




HTH? :D
User avatar
Lucky Joe
Member
Member
Posts: 161
Joined: 2012-07-25, 10:30 UTC

MUT - Zahlen ordnen [gelöst]

Post by *Lucky Joe »

Hallo zusammen,

vielen Dank für eure Beteiligungen.

@HolgerK: Danke, auch nach 25 Jahren Einsatz des TC (WC) lernt man immer noch mal Einstellungen kennen, die man noch nie benutzt hat! Funktioniert, aber ich wollte die Dateinamen schon "vereinheitlichen"

@milo1012: jepp - funktioniert ... sind zwar 3 Durchgänge, aber der Aufwand hält sich in Grenzen. Danke!

@Stefan2: funktioniert ... und das bei so kurzen RegEx-Ausdrücken! Bin erstaunt! Danke!

:P
Lucky Joe
TorgII
New Member
New Member
Posts: 1
Joined: 2017-04-24, 08:45 UTC

Re: MUT: Zahlen ordnen = führende Null einsetzen

Post by *TorgII »

Stefan2 wrote:
Lucky Joe wrote:Ich möchte erreichen, dass jeder Dateiname quasi mit "führenden Nullen" aufgefüllt wird,
Probier's mal so:

VON:
1.1.ps1
1.2.ps1
10.1.ps1
10.2.ps1
10.14.ps1
2.9.ps1
2.12.ps1


ZU:
01.01.ps1
01.02.ps1
02.09.ps1
02.12.ps1
10.01.ps1
10.02.ps1
10.14.ps1


mit MUT:
Name: [N]
Erweiterung: [E]
Suche: \b(\d)\.
Ersetze: 0$1.
[✔][E]
[✔]RegEx


Der RegEx scheint mit dem TC zu funktionieren.


Erklärung

Suche:
\b = Wortgrenze
(...) = speichere Treffer für später
\d = eine Ziffer
\. = ein Punkt


Ersetze:
0 = die Ziffer Null
$1 = füge gespeicherten Treffer ein
. = ein Punkt


HTH? :D
Super Post mit Erklärung, deshalb für mich für viele Zwecke benutzbar.
Danke :-)
Post Reply