Dateinamen in einem Ordner automatisch verändern

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

frankfragt
Posts: 14
Joined: 02 Mar 2016, 04:57

Dateinamen in einem Ordner automatisch verändern

05 Apr 2018, 03:18

Moin,

ich möchte mich an die Lösung folgendes Problems heranmachen und bitte um Tipps / Hilfe, mit welchem Ansatz ich am ehesten Erfolg haben könnte.

Ich lasse eingehende Faxe von meiner Fritz!Box auf einem USB-Stick speichern. Diese vergibt die Dateinamen automatisch, leider beginnend mit dem Datumsformat TT.MM.JJ. Wenn ich die Faxe downloade geht das nur über eine Zip-Datei, beim Entpacken wird das Datum der jeweiligen Dateinamen auf das aktuelle Datum verändert, so dass es unbrauchbar ist.

Das sieht unter DOS dann so aus:

Code: Select all

05.04.2018  09:24            13.607 16.12.17_09.50_Telefax.FAXNUMMER.pdf
05.04.2018  09:24            84.827 17.01.18_10.07_Telefax.FAXNUMMER.pdf
05.04.2018  09:24           459.555 18.12.17_01.54_Telefax.FAXNUMMER.pdf
05.04.2018  09:24           514.508 18.12.17_03.34_Telefax.FAXNUMMER.pdf
05.04.2018  09:24           116.453 19.01.18_20.34_Telefax.FAXNUMMER.pdf
05.04.2018  09:24            21.211 19.01.18_20.42_Telefax.FAXNUMMER.pdf
05.04.2018  09:24            51.814 19.01.18_20.48_Telefax.FAXNUMMER.pdf
05.04.2018  09:24           134.289 19.01.18_20.55_Telefax.FAXNUMMER.pdf
05.04.2018  09:24             6.666 19.01.18_20.58_Telefax.FAXNUMMER.pdf
05.04.2018  09:24           252.557 19.12.17_07.38_Telefax.FAXNUMMER.pdf
05.04.2018  09:24            23.158 21.03.18_11.26_Telefax.FAXNUMMER.pdf
05.04.2018  09:24            63.606 21.10.17_09.06_Telefax.FAXNUMMER.pdf
05.04.2018  09:24            98.234 21.10.17_12.12_Telefax.FAXNUMMER.pdf
05.04.2018  09:24            23.063 21.12.17_10.38_Telefax.FAXNUMMER.pdf
05.04.2018  09:24            32.705 21.12.17_10.40_Telefax.FAXNUMMER.pdf
05.04.2018  09:24           689.599 21.12.17_15.02_Telefax.FAXNUMMER.pdf
05.04.2018  09:24            12.024 22.02.18_20.33_Telefax.FAXNUMMER.pdf
05.04.2018  09:24             1.091 22.12.17_06.10_Telefax.FAXNUMMER.pdf
05.04.2018  09:24            30.515 22.12.17_06.12_Telefax.FAXNUMMER.pdf
05.04.2018  09:24            36.441 23.12.17_16.28_Telefax.FAXNUMMER.pdf
05.04.2018  09:24            69.049 23.12.17_16.59_Telefax.FAXNUMMER.pdf
05.04.2018  09:24            88.840 24.10.17_08.37_Telefax.FAXNUMMER.pdf
05.04.2018  09:24            88.303 25.01.18_17.52_Telefax.FAXNUMMER.pdf
05.04.2018  09:24            75.470 25.01.18_18.05_Telefax.FAXNUMMER.pdf
05.04.2018  09:24            74.810 25.01.18_18.24_Telefax.FAXNUMMER.pdf
05.04.2018  09:24            71.022 26.11.17_18.56_Telefax.FAXNUMMER.pdf
05.04.2018  09:24           707.120 27.12.17_20.45_Telefax.FAXNUMMER.pdf
05.04.2018  09:24            41.902 29.11.17_17.37_Telefax.FAXNUMMER.pdf
05.04.2018  09:24           190.291 30.01.18_11.00_Telefax.FAXNUMMER.pdf


Unter DOS bekomme ich noch mit "dir /B" das Ergebnis bereinigt auf

Code: Select all

01.10.17_12.38_Telefax.FAXNUMMER.pdf
03.02.18_15.46_Telefax.FAXNUMMER.pdf
05.09.17_12.34_Telefax.FAXNUMMER.pdf
05.09.17_14.39_Telefax.FAXNUMMER.pdf
06.02.18_13.56_Telefax.FAXNUMMER.pdf
06.02.18_19.25_Telefax.FAXNUMMER.pdf
06.02.18_19.51_Telefax.FAXNUMMER.pdf
06.03.18_11.04_Telefax.FAXNUMMER.pdf
06.03.18_11.08_Telefax.FAXNUMMER.pdf
06.03.18_11.51_Telefax.FAXNUMMER.pdf
08.03.18_12.22_Telefax.FAXNUMMER.pdf
09.03.18_02.54_Telefax.FAXNUMMER.pdf
09.03.18_02.56_Telefax.FAXNUMMER.pdf
09.03.18_12.51_Telefax.FAXNUMMER.pdf
09.03.18_12.56_Telefax.FAXNUMMER.pdf
09.10.17_20.24_Telefax.FAXNUMMER.pdf
11.11.17_17.05_Telefax.FAXNUMMER.pdf
13.03.18_01.40_Telefax.FAXNUMMER.pdf
13.03.18_01.44_Telefax.FAXNUMMER.pdf
13.10.17_08.41_Telefax.FAXNUMMER.pdf
14.03.18_15.37_Telefax.FAXNUMMER.pdf
15.11.17_17.06_Telefax.FAXNUMMER.pdf
15.12.17_17.31_Telefax.FAXNUMMER.pdf
16.11.17_12.40_Telefax.FAXNUMMER.pdf
16.12.17_09.50_Telefax.FAXNUMMER.pdf
17.01.18_10.07_Telefax.FAXNUMMER.pdf
18.12.17_01.54_Telefax.FAXNUMMER.pdf
18.12.17_03.34_Telefax.FAXNUMMER.pdf
19.01.18_20.34_Telefax.FAXNUMMER.pdf
19.01.18_20.42_Telefax.FAXNUMMER.pdf
19.01.18_20.48_Telefax.FAXNUMMER.pdf
19.01.18_20.55_Telefax.FAXNUMMER.pdf
19.01.18_20.58_Telefax.FAXNUMMER.pdf
19.12.17_07.38_Telefax.FAXNUMMER.pdf
21.03.18_11.26_Telefax.FAXNUMMER.pdf
21.10.17_09.06_Telefax.FAXNUMMER.pdf
21.10.17_12.12_Telefax.FAXNUMMER.pdf
21.12.17_10.38_Telefax.FAXNUMMER.pdf
21.12.17_10.40_Telefax.FAXNUMMER.pdf
21.12.17_15.02_Telefax.FAXNUMMER.pdf
22.02.18_20.33_Telefax.FAXNUMMER.pdf
22.12.17_06.10_Telefax.FAXNUMMER.pdf
22.12.17_06.12_Telefax.FAXNUMMER.pdf
23.12.17_16.28_Telefax.FAXNUMMER.pdf
23.12.17_16.59_Telefax.FAXNUMMER.pdf
24.10.17_08.37_Telefax.FAXNUMMER.pdf
25.01.18_17.52_Telefax.FAXNUMMER.pdf
25.01.18_18.05_Telefax.FAXNUMMER.pdf
25.01.18_18.24_Telefax.FAXNUMMER.pdf
26.11.17_18.56_Telefax.FAXNUMMER.pdf
27.12.17_20.45_Telefax.FAXNUMMER.pdf
29.11.17_17.37_Telefax.FAXNUMMER.pdf
30.01.18_11.00_Telefax.FAXNUMMER.pdf
Nun würde ich gerne mit Hilfe eines Scriptes den Dateinamen von TT.MM.JJ_Zeit_Rest umwandeln in JJ.MM.TT_Zeit_Rest.

Wie könnte ich das tun?

Danke für Tipps.
just me
Posts: 9458
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Dateinamen in einem Ordner automatisch verändern

05 Apr 2018, 04:23

Moin,

das ist nicht so kompliziert.
  1. Mit Loop (Dateien & Ordner) die Namen aller Dateien im Ordner in eine Liste (mit Trennzeichen) oder ein Array stellen.
  2. In einer zweiten Schleife die Liste (Loop (Zeichenkette parsen) bzw. das Array (For-Schleife abarbeiten.
    Die Dateinamen können mit zwei SubStr() in Datum und Rest aufgeteilt werden. Dann muss nur noch das Datum umgestellt werden (geht auch mit SubStr()).
    Danach kannst Du die Datei mit FileMove umbenennen.
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Dateinamen in einem Ordner automatisch verändern

06 Apr 2018, 03:19

Ändert sich beim ent-/packen tatsächlich das creation-date der archivierten datei?? :shock:

Code: Select all

string := "05.04.2018  09:24            13.607 16.12.17_09.50_Telefax.FAXNUMMER.pdf"
fname := StrSplit(string,A_Space)
FormatTime, fDate,% (SubStr(fName[16],7,2)+2000) SubStr(fName[16],4,2) SubStr(fname[16],1,2) SubStr(fName[16],10,2) SubStr(fName[16],13,2), yyyyMMddHHmm    ; beliebiges ausgabeformat
FileGetTime, crDate ,% A_ScriptName, C    ; zum testen das script selbst abgefragt
FileGetTime, mdDate ,% A_ScriptName, M    ; zum testen das script selbst abgefragt
FormatTime, date,% crDate, yyyy-MM-dd HH:mm
MsgBox %	"filename date:`n"
		.	fDate	"`n`n"
		.	"creation date:`n"
		.	crDate	"`n`n"
		.	"modification date:`n"
		.	mdDate	"`n`n"
		.	"creation date edited:`n"
		.	date
Mit RegEx sähe das dann wahrscheinlich noch etwas geschmeidiger aus. Good luck :)

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 51 guests