Datum mit Shortcut vor Datei schreiben

German support forum

Moderators: white, Hacker, Stefan2

Post Reply
SVrider_2017
Junior Member
Junior Member
Posts: 5
Joined: 2023-10-29, 01:20 UTC

Datum mit Shortcut vor Datei schreiben

Post by *SVrider_2017 »

Hallo zusammen,

ich bin relativ neu im Umgang mit dem TC und suche eine Möglichkeit wie man das Datum im Format "[Y]_[M]_[D]_[N]" vor eine Datei schreiben kann. Mit dem Mehrfach-Umbenenn-Tool klappt das ja soweit. Ich möchte allerdings ein Shortcut einrichten mit dem man mit einem Klick das Datum in genanntem Format vor die Datei schreiben kann. Wäre für die Uni ganz geschickt, um den Überblick über seine Dateien zu wahren und das schnell zu ändern.

Danke schonmal.
User avatar
tuska
Power Member
Power Member
Posts: 3760
Joined: 2007-05-21, 12:17 UTC

Re: Datum mit Shortcut vor Datei schreiben

Post by *tuska »

Hallo,
Ich habe mir zu diesem Zweck folgendes eingerichtet (Beispiel):
(Die nachstehend angeführten Parameter habe ich damals einem Forumsbeitrag entnommen).

Mehrfach-Umbenenn-Tool - Vorlage erstellen
- Dateiname: [Y]-[M]-[D]_[N]
- Suchen & Ersetzen:
  Suchen nach: ^(\d\d\d\d\-\d\d-\d\d_)*(\d\d\d\d\-\d\d-\d\d_.+)
  Ersetzen durch: $2
  ✅ [E]
  ✅ RegEx

Hinweis:
Die vorangeführten Parameter bewirken, dass es NICHT zu einer Doppelumbenennung in diesem Sinne kommen kann(!) - Beispiel:

Code: Select all

2023-06-24_2023-06-24_Name.ext
F2 Lade/Speichere Einst. (Name beliebig änderbar - die Parameter müssen dann aber durchgängig sein...):
Das Dropdown-Feld befindet sich ganz rechts... --- der Name der Vorlage in diesem Beispiel lautet wie folgt:

Code: Select all

(Y)-(M)-(D)_(N)_ALLE-Dateien
usercmd.ini
Falls diese Datei noch nicht vorhanden ist, dann mit einem Texteditor erstellen, und zwar in dem Verzeichnis
in dem sich auch die Datei "TOTALCMD.EXE" und/oder "TOTALCMD64.EXE" befindet und darin folgendes speichern...

Code: Select all

[em_JJJJ-MM-TT_Umbenennung]
button=
cmd=MULTIRENAME==(Y)-(M)-(D)_(N)_ALLE-Dateien
menu=MULTIRENAME==(Y)-(M)-(D)_(N)_ALLE-Dateien
Die Einrichtung eines em_Befehls ist auch wie folgt möglich - detaillierte Schritt-für-Schritt Anleitung:
Tastenkombination/Shortcut: ALT+S (Tastenkombinationen umdefinieren)

Shortcut einrichten:
Um einen Shortcut einzurichten wird ein em_Befehl benötigt.

Die Shortcuts werden in der Datei wincmd.ini im Abschnitt [Shortcuts] gespeichert.
Ich verwende den Shortcut Umsch+U und somit wurde in diesem Abschnitt folgendes gespeichert:

Code: Select all

S+U=em_JJJJ-MM-TT_Umbenennung
Sofern man ebenfalls diesen Shortcut verwenden möchte, kann man einen Eintrag direkt in der Datei "wincmd.ini" -
im Abschnitt [Shortcuts] machen und das Thema ist erledigt. Der Shortcut kann sofort verwendet werden.

Die Einrichtung eines beliebigen Shortcuts ist wie folgt möglich:
Menü Konfigurieren > Einstellungen... > Diverses > Tastenkombinationen umdefinieren >
[Option: Klick auf den Dropdown-Pfeil bei ◉ Tasten: um selbst definierte Shortcuts einzusehen] >

Wähle Deinen eigenen Shortcut aus indem Du die gewünschten Optionskästen für ▢ Strg ▢ Alt ▢ Umschalt ▢ Win anklickst
und danach auf den Dropdown-Pfeil klickst und Deine Wahl triffst.
Unterhalb wird als Befehl: "Voreingestellter Befehl (keine Änderung)" angezeigt.
[Sollte der Shortcut schon vergeben sein, dann wird der Befehl in diesem Feld angezeigt].

Klicke rechts davon auf die Lupe, dann unter "Kategorie" ... unten auf usercmd.ini und im Feld "Filter"
gibst Du dann den Namen Deines em_Kommandos (wichtig: OHNE LEERZEICHEN!) an.
Bei diesem Beispiel ist das: em_JJJJ-MM-TT_Umbenennung.

Klicke den Eintrag an, dann auf Button "OK" und jetzt ganz wichtig: Klicke auf den grünen Pfeil(!) und danach auf "OK"
Die Einrichtung des Shortcuts ist erledigt!

Der Shortcut kann sofort getestet werden...
Es können auch mehrere Dateien markiert werden und dann der Shortcut gedrückt werden.
Der Dateiname wird am Anfang mit dem Änderungsdatum ergänzt: JJJJ-MM-TT_Name.ext
Bei Verwendung des selbst definierten Shortcuts wird die Datei OHNE weitere Rückfrage umbenannt!
Hiefür verantwortlich ist der Befehl: MULTIRENAME==MUT-Vorlagename "(Y)-(M)-(D)_(N)_ALLE-Dateien".

Umbenennung rückgängig machen:
Cursor auf Datei positionieren, dann Strg+M drücken (MUT = Mehrfach-Umbenenn-Tool) wird aufgerufen.
Klick auf den Button "Rückgängig" durchführen. Die Abfrage mit Klick auf den "Ja"-Button bestätigen.
Klick auf den Button "Schließen" oder ESC-Taste drücken schließt das Fenster "Mehrfach-Umbenenn-Tool".
Die Datei wurde wieder auf den ursprünglichen Namen geändert.

Gutes Gelingen!
Gruß,
Karl
SVrider_2017
Junior Member
Junior Member
Posts: 5
Joined: 2023-10-29, 01:20 UTC

Re: Datum mit Shortcut vor Datei schreiben

Post by *SVrider_2017 »

Hat soweit funktioniert. Vielen Dank für die ausführliche Anleitung. Einzige Korrektur war, dass die usercmd.ini im Bereich Appdata\Roaming\GHISLER schon mit 0b vorhanden war und ich diese ändern musste. Beim Erzeugen im Verzeichnis der TOTALCMD.EXE hat er die ini nicht erkannt.

Mir ist jetzt aber erst aufgefallen, dass ja das Änderungsdatum eingetragen wird oder Erstelldatum? Auf jeden Fall nicht das tagesaktuelle, was ich eigentlich bräuchte. Gibt es dafür eine Möglichkeit?

Grüße

Lukas
SVrider_2017
Junior Member
Junior Member
Posts: 5
Joined: 2023-10-29, 01:20 UTC

Re: Datum mit Shortcut vor Datei schreiben

Post by *SVrider_2017 »

Ok habe es noch selbst rausgefunden. Für alle, die dasselbe Problem haben:

Einfach im Mehrfach-Umbenenn-Tool oben eingeben: [%$DATE:Y_M_D_%][N]
Dann wird immer das aktuelle Datum verwendet. Die Unterstriche können auch hier durch Bindestriche ersetzt werden. Oder man kann sie auch komplett weglassen.

Was mich noch gewundert hat: Wozu brauche ich den Befehl: menu=MULTIRENAME==Aktuelles_Datum
Hat eigentlich auch alles ohne funktioniert.
User avatar
tuska
Power Member
Power Member
Posts: 3760
Joined: 2007-05-21, 12:17 UTC

Re: Datum mit Shortcut vor Datei schreiben

Post by *tuska »

SVrider_2017 wrote: 2023-10-29, 19:25 UTC Einzige Korrektur war, dass die usercmd.ini im Bereich Appdata\Roaming\GHISLER schon mit 0b vorhanden war ...
Beim Erzeugen im Verzeichnis der TOTALCMD.EXE hat er die ini nicht erkannt.

Mir ist jetzt aber erst aufgefallen, dass ja das Änderungsdatum eingetragen wird oder Erstelldatum?
Bezüglich usercmd.ini bin ich von meiner portablen Installation in C:\totalcmd\ ausgegangen,
anstatt von einer installierten Version in C:\Users\<your-user-name>\AppData\Roaming\GHISLER\ (cd %APPDATA%\GHISLER\).
Tut mir leid.

Das es sich bei meinem Beispiel um das Änderungsdatum handelt habe ich oben erwähnt:
"Der Dateiname wird am Anfang mit dem Änderungsdatum ergänzt: JJJJ-MM-TT_Name.ext"

Bei Deinem Beispiel [%$DATE:Y_M_D_%] handelt es sich um das aktuelle Tagesdatum.
Du kannst das leicht nachprüfen indem Du einfach folgendes in das MUT eingibst: [%$DATE%]_[N]
Es wird das aktuelle Tagesdatum und die aktuelle Tageszeit bei der Umbenennung vorgeschlagen.
SVrider_2017 wrote: 2023-10-29, 19:56 UTC Was mich noch gewundert hat: Wozu brauche ich den Befehl: menu=MULTIRENAME==Aktuelles_Datum
F1 - Hilfe wrote:12. MULTIRENAME Umbenennparameter öffnet den Umbenenndialog mit den angegebenen Einstellungen.
Ein Gleichzeichen = vor dem Namen startet die Umbenennfunktion sofort, sofern die Einstellungen geladen werden konnten.
Zwei Gleichzeichen schließen den Umbenenndialog, sofern die Operation erfolgreich war.
Der Befehl in Deinem Fall lautet auf:

Code: Select all

MULTIRENAME==Aktuelles_Datum
Der Vorteil gegenüber dem Mehrfach-Umbenenn-Tool... - Aufruf mit Strg+M ist, dass nach Drücken des selbst definierten Shortcuts
das "Mehrfach-Umbenenn-Tool"-Fenster NICHT erscheint und die Umbenennung mit der selbst definierten MUT-Vorlage
SOFORT und OHNE weitere Bestätigung durchgeführt wird.

Der Befehl:

Code: Select all

MULTIRENAME=Aktuelles_Datum ... nur 1 einzelnes '=' IST-gleich Zeichen!
öffnet zuerst das "Mehrfach-Umbenenn-Tool"-Fenster und danach muß
a) noch auf den Button "Start!" und danach auf den Button "Schließen" oder die ESC-Taste
    - ODER -
b) die "ENTER"-Taste und danach auf den Button "Schließen" oder die ESC-Taste
gedrückt werden.
Der Vorteil gegenüber dem Mehrfach-Umbenenn-Tool... - Aufruf mit Strg+M ist, dass nach Drücken des selbst definierten Shortcuts
das "Mehrfach-Umbenenn-Tool"-Fenster erscheint und der Umbenennungsvorschlag mit der selbst definierten MUT-Vorlage
wird bereits angezeigt
.
D.h. es ist NICHT erforderlich, die gewünschte MUT-Vorlage aus seinen MUT-Vorlagen herauszusuchen bzw.
ist es noch möglich Änderungen an den MUT-Parametern vorzunehmen.

Hinweis:
Bei Deinen jetzt verwendeten Parametern: [%$DATE:Y_M_D_%][N] ist es meines Erachtens wichtig,
dass Du die RegEx-Befehle (Suchen & Ersetzen), die ich oben angegeben habe in der MUT-Vorlage mit verspeicherst.

Ansonsten wird bei mehrmaligem Drücken des Shortcuts auf derselben Datei jedesmal dem Dateinamen
das Tagesdatum vorne nochmals hinzugefügt - Beispiel: 2023-10-29_2023-10-29_a.txt.

Anmerkung:
MULTIRENAME==Aktuelles_Datum-Zeit verwende ich zB um meine abgelegten Emails (.msg) zu einem Thema
in eine chronologische Reihenfolge zu bringen: MULTIRENAME==(Y)-(M)-(D)_(hm)_(N) + RegEx w.o. angeführt.
Last edited by tuska on 2023-10-30, 07:22 UTC, edited 1 time in total.
User avatar
Stefan2
Power Member
Power Member
Posts: 4159
Joined: 2007-09-13, 22:20 UTC
Location: Europa

PowerShell: Datum mit Shortcut vor Datei schreiben

Post by *Stefan2 »

Danke 2tuska




Als Ergänzung ein Powershell one-liner (hier ohne Undo)

Der TC liefert dir die Parameter, welche du in einer beliebigen Scriptsprache verarbeiten kannst (PoSh, VBS, JS, AutoHotkey, Batch)


Copy&Paste Button-code (rechte Maustaste auf die TC-Buttonbar):

Code: Select all

TOTALCMD#BAR#DATA
powershell
$List = (Get-Content '%F');ForEach($LINE in $List){$timestamp = Get-Date -f 'yyyy_MM_dd HHmmss' ; Rename-Item -Path $LINE -NewName """$timestamp - $LINE"""}
powershell
Rename each 'file.ext' -NewName 'yyyy_MM_dd - file.ext'

1
-1

Von:
TOTALCMD.CHM
TOTALCMD.EXE
TOTALCMD.INC

ZU:
2023_10_30 081216 - TOTALCMD.CHM
2023_10_30 081216 - TOTALCMD.EXE
2023_10_30 081216 - TOTALCMD.INC

- Dateien auswählen
- Button anklicken
- Fertig



# Der PoSh-Parameter 'yyyy_MM_dd HHmmss' kann angepasst werden zB zu: 'yyyy-MM-dd'

# %F ist ein Parameter von TC (weitere Info > Button zum editieren öffnen, und dort den [Hilfe]-Knopf anklicken)
# Die dreifachen Quotes (bzw. \") müssen so sein, da die Interpreter die äußeren entfernen

# Statt in einen Button, kann man den Befehl auch in die usercmd.ini schreiben, und dann dem Befehle einen Keyboard-Shortcut zuweisen.

# Für manchen wird diese Reihenfolge im Code sinnvoller sein (selber Timestamp für alle ausgewählten Dateien):
$List = (Get-Content '%F') ; $timestamp = Get-Date -f 'yyyy_MM_dd HHmmss' ; ForEach($LINE in $List){ Rename-Item -Path $LINE -NewName """$timestamp - $LINE""" }

# Mit log als Vorbereitung für ein Undo:
$List = (gc '%F') ; $timestamp = Get-Date -f 'yyyy_MM_dd HHmmss' ; ForEach($LINE in $List){$NewName = \"$timestamp - $LINE\" ; \"$NewName | $LINE\" | Out-File -Append -FilePath '__rename.log' ; Rename-Item -Path $LINE -NewName $NewName}

# Verwende das LastWriteTime anstatt der aktuellen Zeit:
$timestamp = (Get-Item $LINE).LastWriteTime.ToString("yyyy-MM-dd HHmmss")


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

Re: Datum mit Shortcut vor Datei schreiben

Post by *tuska »

2Stefan2

Danke! :)

Ich habe mir den Button mit diesen Parametern gespeichert.
BUTTON - JJJJ-MM-TT_HHmmss - Name.ext

Code: Select all

TOTALCMD#BAR#DATA
powershell
$List = (Get-Content '%F');ForEach($LINE in $List){$timestamp = Get-Date -f 'yyyy-MM-dd_HHmmss' ; Rename-Item -Path $LINE -NewName """$timestamp - $LINE"""}
Wcmicons.dll,5
Rename each 'file.ext' -NewName 'yyyy-MM-dd_HHmmss - file.ext'|https://www.ghisler.ch/board/viewtopic.php?p=443905#p443905|Datum mit Shortcut vor Datei schreiben || JJJJ-MM-TT_HHmmss - Name.ext|Powershell Skript OHNE "Rückgängig"-Funktion!

1
-1
Button in Buttonbar erstellen (CODE kopieren/einfügen)
  1. Rechts neben "CODE:" auf "ALLES AUSWÄHLEN" klicken, dann Strg+C drücken (kopieren in Zwischenablage).
  2. Rechtsklick auf einen beliebigen Platz in der Buttonbar tätigen, dann auf "Einfügen" klicken.
     ⸺⸺⸺⸺⸺⸺⸺⸺⸺⸺⸺⸺⸺⸺⸺⸺⸺⸺⸺⸺⸺⸺⸺⸺⸺⸺⸺⸺
  3. Option1: Zeige mit dem Cursor (etwas länger) auf den neu erstellten Button: "Tooltip" erscheint (-> Beschreibung zum Button).
                  Beim Tooltip sind max. 259 Zeichen gestattet. | = Zeilenumbruch erzeugen, || = | als Trennzeichen erzeugen.
  4. Option2: Buttonbar - Feld "Tooltip": Ein einzelnes Leerzeichen deaktiviert die Anzeige des Tooltips.
                  Bei leerem Feld "Tooltip" wird der Inhalt von Feld "Kommando" angezeigt.
  5. Option3: Siehe FAQs und Erklärung: Button-code (TOTALCMD#BAR#DATA)  <-- <Strg+Klick auf den Link...>
Fla$her
Power Member
Power Member
Posts: 2318
Joined: 2020-01-18, 04:03 UTC

Re: Datum mit Shortcut vor Datei schreiben

Post by *Fla$her »

SVrider_2017 wrote: 2023-10-29, 01:26 UTCsuche eine Möglichkeit wie man das Datum im Format "[Y]_[M]_[D]_[N]" vor eine Datei schreiben kann.

Code: Select all

TOTALCMD#BAR#DATA
%ComSpec% /q/c for %f in
("%S") do ren %%f "%|$DATE:Y_M_D|_%%~f"
wciconex.dll,32
Datum vor den Dateinamen einfügen

1
Overquoting is evil! 👎
Post Reply