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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 57540
Url: https://administrator.de/forum/batch-dateien-mit-dasylab-9-ausfuehren-57540.html
Ausgedruckt am: 06.05.2025 um 19:05 Uhr
3 Kommentare
Neuester Kommentar
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:
oder in Deinem Schnipsel:
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]
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
...
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]