Problem Datum in Dateinamen anpassen

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

Fuxxli
Posts: 11
Joined: 16 Apr 2018, 07:37

Problem Datum in Dateinamen anpassen

16 Apr 2018, 08:02

Hallo zusammen

Ich bin neu hier mit AHK und wollte ein Script um bei Dateien automatisch das Erstellungsdatum inkl. meinem Kürzel per Hotkey anzupassen.
Problematik hier ist folgende:
Das Script funktioniert 2-3 mal und dann hängt es bei CLIPWAIT
Es geht teilweise erst wieder wenn das Script neu gestartet wird. Sobald das Script im CLIPWAIT hängt, kann ich auch keine Dateien normal mit ctrl+c und ctrl+v kopieren.
Ich erhalte dann Meldung "Element wurde nicht gefunden"

Ich habe versucht per Google eine Lösung zu finden, aber ich fürchte ich kenne die richtigen Schlüsselwörter nicht um das Problem genau beschreiben zu können.

Ich arbeite mit Windows 10.

Das komische ist effektiv, dass die Anzahl wievielmal das Script funktioniert recht variiert, mal mehr mal weniger.
Hoffe jemand hat hier eine Idee. Wäre echt hilfreich :)

Vielen Dank für eure Hilfe und falls ihr mehr Angaben braucht einfach melden.


Code: [Select all] [Expand] [Download] GeSHi © Codebox Plus

just me
Posts: 5433
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Problem Datum in Dateinamen anpassen

16 Apr 2018, 08:48

Moin,

das Skript sollte bei ClipWait nur hängenbleiben, wenn Send {Ctrl Down}c{Ctrl Up} nichts in die Zwischenablage kopiert. Auch dafür gibt es für ClipWait einen Parameter Wartezeit. Bei Zeitüberschreitung wird die interne Variable ErrorLevel auf 1 gesetzt.

Code: [Select all] [Download] GeSHi © Codebox Plus

ClipWait, 1 ; wartet 1 Sekunde darauf, dass etwas ins CLipboard kopiert wird.
If (ErrorLevel) ; Zeitüberschreitung, nichts kopiert
Return
Fuxxli
Posts: 11
Joined: 16 Apr 2018, 07:37

Re: Problem Datum in Dateinamen anpassen

16 Apr 2018, 10:44

Wow vielen Dank für die schnelle Antwort.
Nach den ersten paar Versuchen läuft noch alles, wenn mal nichts kopiert wird hängt es nicht und ich kann nochmals versuchen.

Genial :)

Werde es morgen noch ein bisschen austesten und hoffe, dass es weiterhin funktioniert.
just me
Posts: 5433
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Problem Datum in Dateinamen anpassen

16 Apr 2018, 10:51

Ich denke, Deine Hoffnung wird sich erfüllen. ;)
Fuxxli
Posts: 11
Joined: 16 Apr 2018, 07:37

Re: Problem Datum in Dateinamen anpassen

17 Apr 2018, 04:59

Hallo zusammen

Ich habe den Code angepasst und bin schon fast glücklich damit :)
Datei umbenennen funktioniert soweit, das Problem ist aber wenn ich in der Ordneransicht das Vorschaufenster der Datei eingestellt habe kann ich die Datei nicht umbenennen.
Finde diese Ansicht doch recht praktisch und würde diese ungern deaktivieren.

Kennt jemand eine Möglichkeit dies zu umgehen?

Code: [Select all] [Expand] [Download] GeSHi © Codebox Plus

BoBo
Posts: 2515
Joined: 13 May 2014, 17:15

Re: Problem Datum in Dateinamen anpassen

17 Apr 2018, 07:25

Manuell kann ich die umbenennung einer selektierten (txt)datei mittels F2 bei gleichzeitiger anzeige im explorer-preview pane problemlos machen. :?:
Fuxxli
Posts: 11
Joined: 16 Apr 2018, 07:37

Re: Problem Datum in Dateinamen anpassen

17 Apr 2018, 07:55

Ja manuell habe ich auch kein Problem, nur mit dem Script zeigt es so seine Macken. Hin und wieder geht es dennoch, aber am besten funktionierts definitiv wenn die Vorschau ausgeschaltet ist.
just me
Posts: 5433
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Problem Datum in Dateinamen anpassen

18 Apr 2018, 12:04

Moin,

bau doch mal folgende Änderung ein:

Code: [Select all] [Download] GeSHi © Codebox Plus

...
CLIPBOARD = ; Zwischenablage leeren
Send {Ctrl Down}c{Ctrl Up} ; aktuell markierte Dateien kopieren
ClipWait, 1 ; wartet 1 Sekunde darauf, dass etwas ins CLipboard kopiert wird.
If (ErrorLevel) { ; Zeitüberschreitung, nichts kopiert
MsgBox, Nichts kopiert!
Return
}
MsgBox, Clipboard = %Clipboard%
...
Dann kannst Du sehen, wenn/wann das Kopieren nicht klappt bzw. was kopiert wurde.
Fuxxli
Posts: 11
Joined: 16 Apr 2018, 07:37

Re: Problem Datum in Dateinamen anpassen

26 Apr 2018, 00:11

Vielen Dank :)
Habe dies nun auch eingebaut, jedoch die MsgBox, Clipboard = %Clipboard% weggelassen, da es mir dann anzeigt was kopiert wurde und ich jedes Mal bestätigen muss.
Funktioniert aber alles so wie es soll.

Besten Dank für eure Hilfe :)

Code: [Select all] [Expand] [Download] GeSHi © Codebox Plus



Hier ist der fertige Code wenn jemand diesen auch möchte.
just me
Posts: 5433
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Problem Datum in Dateinamen anpassen

26 Apr 2018, 03:52

Moin,

die Änderung war auch mehr zum Testen gedacht. Die Anweisung MsgBox, Clipboard = %Clipboard% sollte dabei nur klären, ob ab und zu irgendein Unsinn ins Clipboard copiert wird, mit dem Dein Skript nichts anfangen kann.
Fuxxli
Posts: 11
Joined: 16 Apr 2018, 07:37

Re: Problem Datum in Dateinamen anpassen

14 Jun 2018, 08:35

Hallo zusammen
Heute habe ich dieses Script für eine weitere Person eingerichtet. Jedoch hat diese das Kürzel TM statt PF. Sprich vor die Datei kommt yyMMdd_TM_

Jedoch gibt es das M als Monat aus. Wie schaffe ich es, dass es den Kürzel nicht als Monat ausgibt sondern effektiv als M?

Vielen Dank für eure Hilfe :)
just me
Posts: 5433
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Problem Datum in Dateinamen anpassen

14 Jun 2018, 09:22

Wie schaffe ich es, dass es den Kürzel nicht als Monat ausgibt sondern effektiv als M?

Z.B., indem Du Dir die Dokumentation zu FormatTime anschaust. ;)
(Stichwort: Hochkommas)
Fuxxli
Posts: 11
Joined: 16 Apr 2018, 07:37

Re: Problem Datum in Dateinamen anpassen

14 Jun 2018, 09:30

oh vielen Dank :)

Wenn man nur wüsste wonach man suchen muss :)
Fuxxli
Posts: 11
Joined: 16 Apr 2018, 07:37

Re: Problem Datum in Dateinamen anpassen

20 Jun 2018, 09:29

Fuxxli wrote:Vielen Dank :)
Habe dies nun auch eingebaut, jedoch die MsgBox, Clipboard = %Clipboard% weggelassen, da es mir dann anzeigt was kopiert wurde und ich jedes Mal bestätigen muss.
Funktioniert aber alles so wie es soll.

Besten Dank für eure Hilfe :)

Code: [Select all] [Expand] [Download] GeSHi © Codebox Plus



Hier ist der fertige Code wenn jemand diesen auch möchte.


Nun ist wieder etwas aufgetreten. Um die Datei umzubennen funktioniert es super. Jedoch wenn man dies unachtsamerweise auf einen Ordner anwendet, wird dieser zwar nicht umbenennt aber die darin enthalten Dateien werden gelöscht. Unterordner und die darin enthaltenen Dateien werden jedoch nicht gelöscht. Es sind die Dateien, welche sich direkt in diesem Ordner befinden betroffen.

Kann man die Funktion auf einen Ordner unterbinden oder wie schaffe ich es, dass der Ordner umbenennt werden kann, aber die darin enthaltenen Dateien unangetastet bleiben?

Evtl. hab ihr auch einen Input in welcher Richtung ich suchen muss.

Vielen Dank :)
Fuxxli
Posts: 11
Joined: 16 Apr 2018, 07:37

Re: Problem Datum in Dateinamen anpassen

02 Jul 2018, 02:44

Hat hier keiner eine Idee wie man das Script auf einen Ordner verhindern oder einbinden kann? Ist aktuell ziemlich gefährlich wenn man das Script auf einen Ordner anwendet. Es werden dann alle Dateien im Ordner gelöscht.
just me
Posts: 5433
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Problem Datum in Dateinamen anpassen

02 Jul 2018, 04:57

Fuxxli
Posts: 11
Joined: 16 Apr 2018, 07:37

Re: Problem Datum in Dateinamen anpassen

02 Jul 2018, 09:03

just me wrote:Moin,

:arrow: FileGetAttrib.


Hallo vielen Dank für deinen Input. Bin leider nicht schlau daraus geworden. Was haben diese Attribute mit dem Ordner bzw. Datei zu tun?
Konnte es aber nun über FileMoveDir lösen damit es den Ordner umbenennt, ohne aber den Inhalt zu löschen.
Leider kann ich nun nur noch jeweils 1 Datei/Ordner ändern. Aber lieber so als das Risiko zu haben den ganzen Inhalt zu löschen.


Aber sollte es durch den Loop nicht jede Datei einzeln behandeln? Dann müssten doch auch mehrere Dateien gehen obwohl ich FileMoveDir verwende statt den FileMove.
Habe ich hier einen Überlegungsfehler?


Edit: Hatte im Testscript einen Fehler. Läuft alles wie es sollte :)
Last edited by Fuxxli on 02 Jul 2018, 10:20, edited 1 time in total.
Fuxxli
Posts: 11
Joined: 16 Apr 2018, 07:37

Re: Problem Datum in Dateinamen anpassen

02 Jul 2018, 09:05

Code: [Select all] [Expand] [Download] GeSHi © Codebox Plus



Script um Ordner und Dateien umzubenennen. Mehrere Dateien zugleich möglich.
just me
Posts: 5433
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Problem Datum in Dateinamen anpassen

02 Jul 2018, 11:16

Mir ist nicht klar, woher Du die Dateien in die Zwischenablage kopierst. Ich stolpere auch über die Anweisung

Code: [Select all] [Download] GeSHi © Codebox Plus

Transform   , DateiMitPfad, Deref, %A_LoopField%              ; Umwandeln des Variableninhalts von Text in einen verwertbaren Pfad
Die braucht man nur, wenn die Namen in der Zwischenablage Referenzen auf AHK- oder Umgebungsvariablen enthalten (z.B. %A_WinDir%).

Sei's drum. Wenn Du die Hilfe gelesen hast, solltest Du wissen, dass die Anweisung FileGetAttrib im Erfolgsfall einen oder mehrere Buchstaben in die Ausgabevariable stellt. Dabei steht D für DIRECTORY (Verzeichnis / Ordner).

Code: [Select all] [Download] GeSHi © Codebox Plus

LOOP , PARSE, CLIPBOARD, `n, `r                                  ; Abarbeiten aller markierten Dateien
{
Transform , DateiMitPfad, Deref, %A_LoopField% ; Umwandeln des Variableninhalts von Text in einen verwertbaren Pfad
FileGetAttrib , Attribute, %DateiMitPfad% ; Datei-/Ordnerattribute einlesen
If (ErrorLevel) Or InStr(Attribute, "D") ; kein Zugriff möglich oder es handelt sich um einen Ordner
Continue ; -> nächstes Element einlesen
...
*ungetestet*

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: divanebaba and 4 guests