horus79
Goto Top

Batch Dateien mit Dasylab 9 ausführen

Hallo Leute, ich bin neu hier und habe folgendes Problem:
Ich möchte mit Dasylab 9.0 eine Batch Datei ausführen, deren Inhalt eine andere Datei umbenennen soll. Leider Funktioniert das nicht und bisher konnte mir niemand sagen warum.

Der Inhalt der Batch Datei lautet:

for /F "tokens=1,2,3,4 delims=. " %%a in ('date /t') do set dateiname=%%d%%c%%b
for /F "tokens=1,2 delims=: " %%a in ('time /t') do set dateiname=%dateiname%_%%a%%b
ren Jan1.txt Jan1%dateiname%.txt
set dateiname=

und bewirkt das die Txt Datei Jan1 umbenant wird in Jan1DatumUhrzeit.txt. Das funktioniert auch wenn ich die Datei doppelklicke. Wenn ich die Datei von Dasylab ausführen lassen funktioniert das nicht. Wenn ich Batch Datein mit Dasylab ausführe deren Inhalt nur Kopierbefehle enthält, funktioniert das aber.
Kann mir jemand sagen warum das so ist, bzw mir sagen wie es gehen könnte?


Gruß

Jan

Content-Key: 57540

Url: https://administrator.de/contentid/57540

Printed on: April 19, 2024 at 21:04 o'clock

Member: horus79
horus79 Apr 25, 2007 at 12:32:26 (UTC)
Goto Top
Das Problem mit Dasylab ist gelößt.

Jetzt würde ich nur noch gerne wissen wie ich die Sekunden an die Uhrzeit dranhängen kann.
Member: Biber
Biber Apr 25, 2007 at 15:51:33 (UTC)
Goto Top
Moin horus79,

das erste Problem war vermutlich, dass die von Dasylab gerufene Batchdatei nicht in dem Verzeichnis mit der Jan1-Datei gelaufen ist.

Also entweder vor den beiden FOR-Anweisungen mit "PushD x:\janVerzeichnis" dorthin wechseln (recommended) oder die Pfadangabe explizit vor dem Dateinamen angeben.

Das zweite Problem, die Sekunden mit einzubauen, ist auch nicht so wild.
Du musst die Variable %time% auswerten statt die Funktion date /t.
Date /t gibt nur hh:mm zurück, %date% gibt auch Sekunden und Millisekunden zurück.

Beispiel am CMD-Prompt:
(=17:42:06  D:\temp=)
>for /f "delims=:, tokens=1-3" %i in ("%time%") do @echo %i%j%k  
174206
oder in Deinem Schnipsel:
...
for /F "tokens=1,2,3,4 delims=. " %%a in ('date/t') do set dateiname=%%d%%c%%b  
for /F "tokens=1-3 delims=:," %%a in ("%time%") do set dateiname=%dateiname%_%%a%%b%%c  
...

Gruss
Biber
[Edit zwei Stunden später:]
Diese Sekunden-Rausdrösel-Mimik wird relativ wortreich auch an anderer Stelle im Forum behandelt:
Dateien mit Erstelldatum und Zeit renamen
[/Edit]
Member: horus79
horus79 Apr 26, 2007 at 12:04:46 (UTC)
Goto Top
Danke Biber,

Hat alles super geklappt!