Wert in einer Abfrage wird nicht in Datei geschrieben
Hallo
ich habe ein CSV file welches mit Uhrzeiten befüllt ist.
Dieses CSV file sieht wie folgt aus:
Jetzt hab ich mir folgendes Script gebaut, welches alle 5 Minuten gestartet wird.
Leider wird der Wert %%i;%%j;%USER% nie in das file geschrieben. Ich verstehe jedoch nicht wieso das so ist.
Vielleicht hat ja jemand eine Idee zu meinem Problem.
Das CSV file sollte dann um beispielsweise 23:45 wie folgt aussehen:
Danke schon mal.
Gruß
Christian
[Edit Biber] Codeformatieung [/Edit]
ich habe ein CSV file welches mit Uhrzeiten befüllt ist.
Dieses CSV file sieht wie folgt aus:
0:00
0:05
bis
23:45
23:50
23:55
Jetzt hab ich mir folgendes Script gebaut, welches alle 5 Minuten gestartet wird.
@echo off
set TIME_HOUR=%time:~-11,2%
set TIME_MIN=%time:~-8,2%
set LOG=Mappe.csv
set LOGNEW=%LOG:~0,-4%_temp.csv
set USER=%random%
FOR /F "tokens=1,2* delims=;" %%i in (%LOG%) do (
IF "%%i" EQU "%TIME_HOUR%:%TIME_MIN%" (
echo Write: %%i;%%j;%USER%
echo %%i;%%j;%USER%>>%LOGNEW%
) ELSE (
echo %%i;%%j>>%LOGNEW%
)
)
del %LOG%
ren %LOGNEW% %LOG%
Leider wird der Wert %%i;%%j;%USER% nie in das file geschrieben. Ich verstehe jedoch nicht wieso das so ist.
Vielleicht hat ja jemand eine Idee zu meinem Problem.
Das CSV file sollte dann um beispielsweise 23:45 wie folgt aussehen:
0:00;
0:05;
bis
23:45;0815
23:50;
23:55;
Danke schon mal.
Gruß
Christian
[Edit Biber] Codeformatieung [/Edit]
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 185385
Url: https://administrator.de/contentid/185385
Ausgedruckt am: 21.11.2024 um 22:11 Uhr
6 Kommentare
Neuester Kommentar
Aloha,
1. möchte ich dich bitten, unsere schöne ##blue|## Formatierung anzuwenden und edit: Biber war schneller
2. kann ich dir beim groben Überflug garantieren, dass es logisch ist, dass er zumindest zwischen 0:00 und 10:00 ins
greetz André
1. möchte ich dich bitten, unsere schöne ##blue|## Formatierung anzuwenden und edit: Biber war schneller
2. kann ich dir beim groben Überflug garantieren, dass es logisch ist, dass er zumindest zwischen 0:00 und 10:00 ins
ELSE
gehen wird, da %time:~-11,2%
in dieser Zeit folgendes anzeigt: "h
" und nicht "h
" ergo ist "0:00"
<> " 0:00"
.greetz André
Moin christiank,
nachdem ich mir das Ganze mehrmals angesehen habe, stellt sich mir zunehmend die Frage, was Du mit dem Script erreichen willst:
Nach einem erfolgreichen Durchlauf ist die Datei mit genau einer Zeile Uhrzeit (letzter Treffer) ausgerüstet und wird - da sie als Uhrzeit-Vorlage herhalten muss (Zeile 10) - bei einem Vergleich erst wieder am nächsten Tag zur Uhrzeit einen Treffer liefern (falls die Minute stimmt), diese wird dann 2x drinstehen, 4x, 8x, usw. usf. ... bis die Laufzeit des Scriptes auf die bearbeitete Zeilenzahl begrenzend wirkt - resp. nach einer Minute keine Treffer mehr erfolgen und damit keine weiteren Zeilen mehr geschrieben werden.
Also, wenn Du Cron testen willst, ob der, über den Tag verteilt, wenigstens auf die Minute genau startet - hmm.
Was soll das Konstrukt bewirken?
Freundliche Grüße von der Insel - Mario
nachdem ich mir das Ganze mehrmals angesehen habe, stellt sich mir zunehmend die Frage, was Du mit dem Script erreichen willst:
- es startet ein Batchjob alle 5' (hoffentlich
Minute mod 5 = 0
), - der prüft, ob eine in der csv-Datei ('Mappe.csv') notierte Uhrzeit auf die aktuelle Uhrzeit (die nicht AM/PM sein darf) passt. (Das ist der Fall, wenn der Job von Sekunde 1 bis 60 der o.a. Minute den Vergleich durchführt - ok)
- ist der Vergleich positiv, wird die Zeit aus der csv-Datei (
'%%i'
) mit einem eventuell vorh. zweiten String ('%%j'
) und einem (zufälligen?) User-String an das Ende der temporären Log-Datei gehängt (Zeile 13), - diese wird abschließend wieder zur zu prüfenden 'Mappe.csv' gemacht (Zeilen 18+19).
- ist der Vergleich negativ, wird die eben geprüfte Uhrzeit mit einem eventuell vorh. zweiten String ans Ende der temporären Log-Datei gehängt (Zeile 15),
- weiter wie vorheriger Punkt.
Nach einem erfolgreichen Durchlauf ist die Datei mit genau einer Zeile Uhrzeit (letzter Treffer) ausgerüstet und wird - da sie als Uhrzeit-Vorlage herhalten muss (Zeile 10) - bei einem Vergleich erst wieder am nächsten Tag zur Uhrzeit einen Treffer liefern (falls die Minute stimmt), diese wird dann 2x drinstehen, 4x, 8x, usw. usf. ... bis die Laufzeit des Scriptes auf die bearbeitete Zeilenzahl begrenzend wirkt - resp. nach einer Minute keine Treffer mehr erfolgen und damit keine weiteren Zeilen mehr geschrieben werden.
Also, wenn Du Cron testen willst, ob der, über den Tag verteilt, wenigstens auf die Minute genau startet - hmm.
Was soll das Konstrukt bewirken?
Freundliche Grüße von der Insel - Mario