Dateien in Ordner umbenennen

Bild

Betrifft: Dateien in Ordner umbenennen
von: Christoph
Geschrieben am: 08.09.2015 10:28:35

Guten Morgen,
mein Problem ist folgendes:
Ich erhalte Ordner mit mehreren 100 .HUL Dateien, welche Messdaten beinhalten. Die Dateien haben derzeit Namen wie "001A4AC4.HUL".
Diese Dateien enthalten in den ersten Zeilen Informationen dazu, wann sie erstellt wurden.
2. Zeile: Date:2000/01/20
3. Zeile: Time:22:37:56,265
Ziel ist es nun, die Dateien so umzubenennen, dass sie folgendes Format aufweisen: yyyymmdd_hhmmss.
Wäre toll, dies mit einem Excel-Makro zu lösen. Im selben Excel-File könnte dann weiterführend die Auswertung der Daten erfolgen. Kann leider kein File als Beispiel hochladen, da .HUL.
Ich würde mich über jede Hilfe freuen! :)
LG

Bild

Betrifft: AW: Dateien in Ordner umbenennen
von: Christoph
Geschrieben am: 08.09.2015 10:31:49
Habe hier die Datei 001A4AC4.HUL als .txt hochgeladen.
https://www.herber.de/bbs/user/100077.txt

Bild

Betrifft: AW: Dateien in Ordner umbenennen
von: mumpel
Geschrieben am: 08.09.2015 10:34:46
Hallo!

Zitat:
Kann leider kein File als Beispiel hochladen, da .HUL.
____________________________
Quelle: Herber-Forum


Pack die Datei in ein ZIP-Archiv, dann kannst Du sie hochladen.
Zum Umbenennen von Dateien eignet sich die Namefunktion. Z.B.: Name "C:\Test.hul" As "C:\Test.txt"
Gruß, René

Bild

Betrifft: AW: Dateien in Ordner umbenennen
von: Christoph
Geschrieben am: 08.09.2015 10:39:04
Habs jetzt mal als Text hochgeladen, wir auch als solche ausgelesen.
Das Umbenennen an sich wäre kein Problem, allerdings komm ich nicht drauf, wie er aus den Infos in der Datei den Namen bilden und das dann anschließend für jede hul-Datei im Ordner durchführen soll.

Bild

Betrifft: AW: Dateien in Ordner umbenennen
von: EinNamenloser
Geschrieben am: 08.09.2015 14:04:05
Hallo
evtl so

dim spath as string
dim sfile as dtring
dim sNewFile as string
spath = "........." 'z.B C:\HierSindDieHuls\
sFile = dir$(spath & "*.hul")
do while len(sfile)
If Not sFile like"########_######" then
with CreateObject("scripting.FileSystemobject").OpenTextFile(spath & sfile)
.readline
snewfile = replace(replace(replace(mid$(.readLine & .readLine, 6, 23), "Time:", "_"), "/", ""),  _
 _
":", "") & ".hul"
.close
End With
Name spath & sfile as spath & snewfile
end if
sfile = dir$()
loop


Bild

Betrifft: AW: Dateien in Ordner umbenennen
von: Christoph
Geschrieben am: 08.09.2015 14:36:04
Danke, das lief kurzzeitig sogar :D
Allerdings werden nicht alle Files umbenannt, es kommt der "Laufzeitfehler 62: Einlesen hinter Dateiende".
Unverschämt wie ich bin, frag ich gleich nach:
Gibts ne Möglichkeit, die neuen Dateien in einen Unterordner des Pfads der Originaldateien zu legen? So dass meine Rohdaten nicht verloren gehen?
Könntest du mir außerdem diesen Teil

with CreateObject("scripting.FileSystemobject").OpenTextFile(spath & sfile)
.readline
snewfile = replace(replace(replace(mid$(.readLine & .readLine, 6, 23), "Time:", "_"), "/", ""),  _
 _
 _
":", "") & ".hul"
.close
zu erklären versuchen? :)
Das hier die falschen Zeichen entfernt werden ist mir grundsätzlich klar, wie du allerdings genau auf die richtige Zeilen mit dem Zeitstempel kommst ist mir ein Rätsel :S

Bild

Betrifft: AW: Dateien in Ordner umbenennen
von: Christoph
Geschrieben am: 08.09.2015 14:40:05
Ok, das mit dem Speichern konnte ich selbst lösen.

Bild

Betrifft: AW: Dateien in Ordner umbenennen
von: EinNamenloser
Geschrieben am: 08.09.2015 17:59:01
Hallo

with CreateObject("scripting.FileSystemobject").OpenTextFile(spath & sfile)

Diese Zeile öffnet die gerade gefundene Hul-Datei
 .readline
liest eine Zeile. in diesem Fall die erste.
snewfile = replace(replace(replace(mid$(.readLine & .readLine, 6, 23), "Time:", "_"),...

die beiden readline-Commands lesen in diesem Fall die 2. und die 3 Zeile deiner Hul-Datei ein. Kurzgesagt readline liest die Zeilen einer Datei sequenziell mit jedem aufruf ein. der Rest ist dann abschneiden (Date: und millisekunden) und ersetzen nicht gewollter Zeichen(-ketten).

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Dateien in Ordner umbenennen"