Mehrfach Umbenennen - Zeichen aus Dateinamen verschieben

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
BeatG
Junior Member
Junior Member
Posts: 9
Joined: 2010-06-17, 15:01 UTC
Location: Schweiz

Mehrfach Umbenennen - Zeichen aus Dateinamen verschieben

Post by *BeatG »

Hallo

Wie kann ich z.B. jeweils die letzten drei Stellen der Dateinamen vor der Endung, hier 003, an den Anfang bringen?

Aus '1964_01_mg003.bmp' wird '003_1964_01abhieregal.bmp

Danke für Inputs.
matbal
Member
Member
Posts: 182
Joined: 2004-11-28, 19:40 UTC

Post by *matbal »

Wenn es immer 3 Zeichen sind, geht es einfach.
[N#-#] steht für Teil des Namens. Die beiden # geben die Nummer des ersten und letzten Buchstaben an, den wir haben wollen. Von hinten abzählen geht mit negativen zahlen

Unter Umbenennmakse: Dateiname:

Code: Select all

[N-3--1][N1--4]
Das heißt:

[N-3--1] => Drittletztes bis letztes Zeichen (= die 3 letzten Zeichen)
[N1--4] => Erstes bis viertletztes Zeichen
BeatG
Junior Member
Junior Member
Posts: 9
Joined: 2010-06-17, 15:01 UTC
Location: Schweiz

Post by *BeatG »

Danke, doch da fehlt die 003 vorne im neuen Namen (in der Vorschau) => 1964_1_mg.bmp, und dann gibst doppelte.

Mit [N-3--1] entfernt das Tool die Endung 003 vor .bmp, das ist gut, wenn auch nicht nötig. Aber es setzt die 003 mit [N1--4] ja nicht an den Anfang des Namens.

Ist den der zweite N-Wert [N1--4] die Stelle, auf den der erste ausgeschnittene hinkopiert/angehängt werden sollte?
User avatar
knightrider
Senior Member
Senior Member
Posts: 292
Joined: 2011-09-14, 13:23 UTC
Location: Baden-Württemberg

Post by *knightrider »

ich bin zwar kein experte was regexp angeht, aber ich würde das so lösen:


1. regexp ankreuzen
suchen: (.*)_(.*)_(.*)
ersetzen: $3_$1_$2

2. umbenennmaske (regexp haken raus)
[N3-]

ist zwar net die eleganteste lösung (geht bestimmt mit einer einzigen regexp-formel), aber denke ist praktikabel

lg
knightrider

#247054#
Windows 10 Pro x64
TC 10.50 Final x32x64

"Nosce te ipsum"
MrMurphy
Junior Member
Junior Member
Posts: 98
Joined: 2006-05-31, 04:59 UTC

Post by *MrMurphy »

Hallo

wie matbal schon indirekt angedeutet hat wäre es sinnvoll, wenn du mehrere Beispiel-Dateinamen posten würdest. So läuft das auf ein eher sinnloses Raten hinaus.
geht bestimmt mit einer einzigen regexp-formel
Stimmt, wenn die Dateinamen alle im gleichen angegebenen Format vorliegen:

Dateiname: [N]
Endung: [E]
Suchen nach: (.*)_(.*)_(.*)(\d\d\d)\.(.*)
Ersetzen durch: $4_$1_$2$3.$5
RegEx: Anhaken = aktivieren

Gruss

MrMurphy
User avatar
knightrider
Senior Member
Senior Member
Posts: 292
Joined: 2011-09-14, 13:23 UTC
Location: Baden-Württemberg

Post by *knightrider »

getestet. funktioniert so nicht.

ersetzen: $4_$1_$2.$5

haken bei [E] und RegEx

ergebnis: 003_1964_01.txt


knightrider

#247054#
Windows 10 Pro x64
TC 10.50 Final x32x64

"Nosce te ipsum"
matbal
Member
Member
Posts: 182
Joined: 2004-11-28, 19:40 UTC

Post by *matbal »

Ich hatte beim Abschreiben einen Fehler gemacht und ein Minus zuviel geschrieben.

Das holt die Nummer vor:

Code: Select all

[N-3-1][N1--4]
Es fehlt aber noch der Bindestrich:

Code: Select all

[N-3-1]_[N1--4]
Das würde auch die drei letzten Zeichen nehmen:

[N-3-] => nehme drittletztes Zeichen bis Schluß
[N-3,3] => nehme ab dem drittletzten Zeichen drei Zeichen

Wenn vom Rest des Namens nicht alles behalten werden soll, könnte man den zweiten N-Teil auch anders eingrenzen...
BeatG
Junior Member
Junior Member
Posts: 9
Joined: 2010-06-17, 15:01 UTC
Location: Schweiz

Post by *BeatG »

matbal, knightrider - Ihr seid Teufelskerle, beides klappt.

Danke schön.
Post Reply