Mehrfach-Umbennen-Tool: Alle im Ordner umbennen, aber manche überspringen

German support forum

Moderators: white, Hacker, Stefan2

User avatar
tuska
Power Member
Power Member
Posts: 3733
Joined: 2007-05-21, 12:17 UTC

Re: Mehrfach-Umbennen-Tool: Alle im Ordner umbennen, aber manche überspringen

Post by *tuska »

OK, danke für die Auskunft!
(Ich hatte vorher Bedenken wegen der Performance, aber nachdem ich jetzt ca. 30.000 Dateien
im MUT aufgerufen habe, haben sich diese in Luft aufgelöst :) )

Somit ließe sich mit Deinem Vorschlag und
einem Klick auf einen Button (mit nachfolgendem Kommando) alles erledigen:

Code: Select all

cm_DirBranch,cm_SelectAll,em_JJJJ-MM-TT_Umbenennung
(em_JJJJ-MM-TT_Umbenennung: Kommando: MULTIRENAME YYYY-MM-DD_Dateiname
YYYY-MM-DD_Dateiname = Name der gespeicherten Umbenennmaske)
janemba1
Junior Member
Junior Member
Posts: 10
Joined: 2019-11-26, 14:38 UTC

Re: Mehrfach-Umbennen-Tool: Alle im Ordner umbennen, aber manche überspringen

Post by *janemba1 »

Guten Abend,

erstmal vielen dank für eure ganzen Antworten! Dummerweise verstehe ich nur Bahnhof "tuska" hat mir hoffnung mit seinem Button Code gemacht aber auch dieser schlägt bei mir fehl... ich kenne mich nicht gut aus! Ich habe den Code von Tuska in "Kommando" eingefügt und ein Symbol gewählt, dateien Makiert aber immer wenn ich drauf klicke steht dort: [Funktion exestiert nicht! em_JJJJ-MM-TT_Umbenennung] habe schon versucht den punkt "JJJJ-MM-TT" mit "YYYY-MM-DD" zu ersetzen jedoch ohne erfolg! Was mache ich bitte falsch? und wofür diese Ergänzung am ende nach dem Code tuska?

Bitte für ganz blöde...

danke euch
User avatar
tuska
Power Member
Power Member
Posts: 3733
Joined: 2007-05-21, 12:17 UTC

Re: Mehrfach-Umbennen-Tool: Alle im Ordner umbennen, aber manche überspringen

Post by *tuska »

2janemba1
Nachdem ich Deine Kenntnisse in TC nicht kenne, habe ich vorerst nur eine Kurzzusammenfassung erstellt.
Ich komme demnächst auf dieses Thema zurück und kann Dir dann eine genaue und detaillierte Anleitung geben.
User avatar
Stefan2
Power Member
Power Member
Posts: 4126
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Re: Mehrfach-Umbennen-Tool: Alle im Ordner umbennen, aber manche überspringen

Post by *Stefan2 »

janemba1 wrote: 2019-12-16, 19:03 UTC erstmal vielen dank für eure ganzen Antworten! Dummerweise verstehe ich nur Bahnhof .....


Wenn das alles zu kompliziert wird, kannst du dein Anliegen auch einfach mit einem PowerShell-Skript abarbeiten:



janemba1 wrote: 2019-11-26, 15:03 UTC
Ich nutze zur Sortierung meiner Daten das Sieben-Ordner-System.
Diese Ordner werden regelmäßig mit neuen Dateien befüllt.
Ich möchte nur die neuen Dateien umbenennen.
Dazu verwende ich im MUT den Befehl "[=tc.Erstelldatum.Y-M-D]_[N]"
z.B. "Datei 1.ext" >> "2019-11-26_Datei 1.ext"

Nun mein Problem:
Dateien, welche bereits eine Zeitmarke haben, sollen übersprungen werden.
z.B. so nicht: "2019-11-26_Datei 1.ext" >> "2019-11-26_2019-11-26_Datei 1.ext"

Natürlich soll das auch auf Unterordner anwendbar sein.
Ist das möglich?

Vorgehensweise:
- Kopiere deinen Hauptordner (mit "1_Geschäftsführung" u.s.w.) als Backup
- gehe in deinen Hauptordner
-öffne dort eine PowerShell-Konsole und kopiere das Folgende ein (eine einzige, lange Zeile)
Get-ChildItem -recurse |Where{!$_.PSIsContainer}|ForEach{$D=$_.CreationTime.ToString('yyy-MM-dd');If(!$_.Name.StartsWith($D)){Rename-Item $_.FullName $("{0}_{1}" -f $D, $_.Name) -ErrorAction SilentlyContinue}}
- ENTER Taste
- Fertig.

Wenn das für dich funktioniert, können wir das in einen Button für die Buttonbar einbauen.


- - -

Erklärung:

Get-ChildItem -recurse |
Where{!$_.PSIsContainer}|
ForEach{
$D=$_.CreationTime.ToString('yyy-MM-dd');
If(!$_.Name.StartsWith($D)){
Rename-Item $_.FullName $("{0}_{1}" -f $D, $_.Name) -ErrorAction SilentlyContinue
}
}


Code: Select all

Get-ChildItem -recurse |	#//Für alle Unterordner
Where{!$_.PSIsContainer}|	#//Wenn es kein Ordner ist (PoShv2 Variante), also bearbeite nur Dateien
ForEach	#//Für jede Datei
{
		$D=$_.CreationTime.ToString('yyy-MM-dd'); 	#//Hol' das Erstelldatum und formatiere es als Y_M_D
		If(!$_.Name.StartsWith($D))	#//Wenn der Name nicht bereits mit dem Erstelldatum anfängt
		{
			Rename-Item $_.FullName $("{0}_{1}" -f $D, $_.Name) 	#//Benenne um in Y-M-D_N
			-ErrorAction SilentlyContinue	#//Falls es diesen Namen so bereits geben sollte, überspringe die Datei
		}
}



HTH?
User avatar
tuska
Power Member
Power Member
Posts: 3733
Joined: 2007-05-21, 12:17 UTC

Re: Mehrfach-Umbennen-Tool: Alle im Ordner umbennen, aber manche überspringen

Post by *tuska »

tuska wrote: 2019-12-16, 19:19 UTC 2janemba1
Ich komme demnächst auf dieses Thema zurück und kann Dir dann eine genaue und detaillierte Anleitung geben.
Variante 1 - ohne Einbindung von externem Tool 'Everything':

Umbenennmaske mit Suchen & Ersetzen erstellen und speichern
- Mehrfach-Umbenenn-Tool... Strg+M aufrufen (Cursor muß sich auf Datei oder Ordner befinden)
- Lösung von milo1012 verwenden
- im Feld "Dateiname" folgendes erfassen: [Y]-[M]-[D]_[N]
- Erweiterung: [E] (unverändert lassen)
- Suchen nach: ^(\d\d\d\d\-\d\d-\d\d_)*(\d\d\d\d\-\d\d-\d\d_.+)
- Ersetzen durch: $2
- ☑ [E] ☑ RegEx
- Klick auf "F2 Lade/Speichere Einst.", danach auf "Einstellungen speichern"
- Einstellungen speichern als: YYYY-MM-DD_Dateiname, dann "OK" drücken

em_Kommando erstellen
Das kann zB wie folgt gemacht werden:
- cm_CommandBrowser in die TC-Kommandozeile eintippen, <enter>
- Links unter "Kategorie" ... Klick auf den Eintrag: usercmd.ini
- Button "Neu" anklicken
- einen Namen für den Befehl eingeben, zB em_JJJJ-MM-TT_Umbenennung
   (der Name darf keine Leerzeichen haben), dann "OK" anklicken
- Kommando: MULTIRENAME YYYY-MM-DD_Dateiname *) eingeben, "OK", "OK"
FERTIG - das Kommando wurde erstellt.
*) YYYY-MM-DD_Dateiname ist der Name Deiner gespeicherten MUT (Mehrfach-Umbenenn-Tool) Maske.

Button erstellen
- Rechtsklick auf freien Platz in der Buttonbar (zB nach dem letzten Button), dann Klick auf "Ändern"
- Klick auf "Anfügen"
Erfassen von...
- Kommando: cm_DirBranch,cm_SelectAll,em_JJJJ-MM-TT_Umbenennung
- Icondatei: zB wcmicons.dll
- Tooltip: cm_DirBranch,cm_SelectAll,em_JJJJ-MM-TT_Umbenennung
  |viewtopic.php?f=2&t=55048
  |Alle Dateien im Ordner umbenennen, aber manche überspringen

... oder stattdessen nachstehenden Code markieren (durch Klick auf "ALLES AUSWÄHLEN"),
Strg+C drücken (kopieren in Zwischenablage),
einen Rechtsklick in der Buttonbar tätigen und "Einfügen" anklicken - FERTIG!

Code: Select all

TOTALCMD#BAR#DATA
cm_DirBranch,cm_SelectAll,em_JJJJ-MM-TT_Umbenennung

wcmicons.dll
cm_DirBranch,cm_SelectAll,em_JJJJ-MM-TT_Umbenennung|https://ghisler.ch/board/viewtopic.php?f=2&t=55048|Alle Dateien im Ordner umbenennen, aber manche überspringen


-1
Jetzt fehlt noch die Durchführung so wie sie milo1012 hier beschrieben hat.
1. In das Hauptverzeichnis wechseln
2. Button anklicken
3. Im Mehrfach-Umbenenn-Tool (MUT) Vorschläge prüfen, dann Button "Start!" drücken

Hinweis:
Eine Umbenennung kann auch rückgängig gemacht werden --> siehe Hilfe:
Im Mehrfach-Umbenenn-Tool (MUT) / Umbenennmaske einfach F1 drücken für nähere Informationen.

Es empfiehlt sich sehr, zuerst mit Testdateien bzw. Testordnern ein paar Tests zu machen.

Eine Erläuterung zu den Kommandos cm_DirBranch bzw. cm_SelectAll kannst Du abrufen, wenn Du in der TC-Kommandozeile
den CommandBrowser mit Eingabe von: cm_CommandBrowser <enter> aufrufst und danach die Kommandos einzeln unten
in das Feld "Filter" eingibst.

Variante 2 - mit Einbindung von externem Tool 'Everything':
Bei Bedarf kann ich diese Variante ebenfalls auf Anfrage noch detailliert ausführen.

EDIT: Die Lösung für eine TC-Suchanfrage unter Einbindung von 'Everything' soll wie folgt lauten:

Code: Select all

ed:files:regex:^(?!\d\d\d\d\-\d\d-\d\d_).+ !descript.ion
damit nicht versehentlich die standardmäßig ausgeblendete/versteckte Datei descript.ion für TC Dateikommentare umbenannt wird.
(Eine Editierung der entsprechenden Beiträge oben war von mir nicht mehr möglich, daher an dieser Stelle der Nachtrag).

Gutes Gelingen!
Last edited by tuska on 2019-12-17, 13:26 UTC, edited 1 time in total.
Gruß,
Karl
NotNull
Senior Member
Senior Member
Posts: 266
Joined: 2019-11-25, 20:43 UTC
Location: NL

Re: Mehrfach-Umbennen-Tool: Alle im Ordner umbennen, aber manche überspringen

Post by *NotNull »

Eine halbe Lösung (wegen wenig Zeit):
(Mein Total Commander spricht nur English, also selbst untertiteln :))

In das Suchen Fenster:
Advanced Tab > Attribute "Directory" entfernen
In den Plugins Tab:
- plugin = tc
- property = name
- OP = !regex
- value = ^\d{4}-\d{2}-\d{2}_

Mit dieser Einstellungen kan mann alle files finden die nicht mit "datum_" anfangen.



PowerShell Alternative:

Code: Select all

gci "X:\Pfad zu\dein Ordner\" -recurse -Attributes !D | ? {$_.Name -notmatch '^\d{4}-\d{2}-\d{2}_' } | Rename-Item -newname {$_.CreationTime.toString("yyyy-MM-dd") + "_" + $_.Name}                                                                                                                                                                                 
User avatar
tuska
Power Member
Power Member
Posts: 3733
Joined: 2007-05-21, 12:17 UTC

Re: Mehrfach-Umbennen-Tool: Alle im Ordner umbennen, aber manche überspringen

Post by *tuska »

NotNull wrote: 2019-12-16, 23:30 UTC Mit dieser Einstellung kann man alle files finden die nicht mit "datum_" anfangen.
Ja, auch ausgeblendete TC Dateikommentare (versteckte Datei "descript.ion").

Diese kann man aber wie folgt ausblenden:
Suchen nach: *.*|descript.ion
janemba1
Junior Member
Junior Member
Posts: 10
Joined: 2019-11-26, 14:38 UTC

Re: Mehrfach-Umbennen-Tool: Alle im Ordner umbennen, aber manche überspringen

Post by *janemba1 »

Hallo nochmal zusammen!

Vielen Dank für eure Antworten und die ausführliche Anleitung von tuska. Allerdings bekomme ich das partout nicht hin mit dem cm_ befehlen....ich kriege immer die Meldung:

Der Befehl "cm_CommandBrowser" ist entweder falsch geschrieben oder konnte nicht gefunden werden.

Diese Meldung bekomme ich wenn die TC-Kommandozeile öffne über befehle --> Kommandozeile. Habe auch da ich den Total Commander auf einer anderen festplatte als C liegen habe den entsprechenden pfad, über den Laufwerkbuchstaben und den mit dem cd Befehl gewechselt... ich habe das gefühl mir fehlt was? tuska nutzt du erweiterungen? Wieso bekomme ich immer die Meldung das der befehl nicht exestiert? Deine erste Methode bzw der vorschlag von milo1012 (Danke dafür) hat mit deiner anleitung super funktioniert aber bei der Buttonerstellung komme ich nicht weiter, hat noch jemand einen Tipp was ich falsch mache? Oder kann mir erklären wieso es ist wie es ist?

Gruß

janemba1
User avatar
tuska
Power Member
Power Member
Posts: 3733
Joined: 2007-05-21, 12:17 UTC

Re: Mehrfach-Umbennen-Tool: Alle im Ordner umbennen, aber manche überspringen

Post by *tuska »

Hi,
unterhalb von den zwei TC-Fenstern befindet sich die TC-Kommandozeile - außer Du hast sie ausgeblendet.
(Du hattest das DOS-Fenster von Windows eingeblendet...)

Über Menü "Konfigurieren" - "Einstellungen..." - "Layout" - ☑ Kommandozeile kannst Du sie aber wieder einblenden.
janemba1
Junior Member
Junior Member
Posts: 10
Joined: 2019-11-26, 14:38 UTC

Re: Mehrfach-Umbennen-Tool: Alle im Ordner umbennen, aber manche überspringen

Post by *janemba1 »

oh wie peinlich... hatte danach gesucht aber nicht gewusst das dass die Kommandoteile ist! Danke tuska probiere es nun erneut!.
janemba1
Junior Member
Junior Member
Posts: 10
Joined: 2019-11-26, 14:38 UTC

Re: Mehrfach-Umbennen-Tool: Alle im Ordner umbennen, aber manche überspringen

Post by *janemba1 »

so also der Button funktioniert nun aber leider öffnet sich nur das MUT ohne vorherige konfiguration.
User avatar
tuska
Power Member
Power Member
Posts: 3733
Joined: 2007-05-21, 12:17 UTC

Re: Mehrfach-Umbennen-Tool: Alle im Ordner umbennen, aber manche überspringen

Post by *tuska »

janemba1 wrote: 2019-12-19, 17:26 UTC so also der Button funktioniert nun aber leider öffnet sich nur das MUT ohne vorherige konfiguration.
Wenn Du Dich an die Anweisungen weiter oben gehalten hast, dann sollte es funktionieren.
Prüfe noch einmal die Einstellungen zum em_Befehl --> "em_Kommando erstellen".
janemba1
Junior Member
Junior Member
Posts: 10
Joined: 2019-11-26, 14:38 UTC

Re: Mehrfach-Umbennen-Tool: Alle im Ordner umbennen, aber manche überspringen

Post by *janemba1 »

tuska, ich danke dir für deine Geduld! Ich habe nun hinbekommen habe einfach die Namen verwendet die du genommen hast und habe jetzt denke ich auch das Prinzip hinter em_Kommando verstanden. Es funktioniert jetzt wie gewünscht werde diese Konfiguration abspeichern, hochladen, in nem Safes speichern was auch immer X)

Ich möchte euch allen vielmals für die tollen Ideen und anregungen danken und bin froh das einem so gut in diesem Forum geholfen wird =)
Post Reply