tt1986
Goto Top

Automatischer Bestandsabgleich per WGET und Batch datei

Hi Leute habe folgendes Problem:

Muss stündlich Lagerbestände abholen.

verzeichniss: IPADRESSE/Stockfile
Dateiname: VORNAME_NACHNAME_20130823-UHRZEIT.csv

Als beispiel heute 15 Uhr = vorname_nachname_20130823-15.csv

Die Bestände werden stündlich per ftp zur verfügung gestellt sodass der name immer wechselt von 8 bis 20 uhr

vorname_nachname_20130823-8.csv
vorname_nachname_20130823-9.csv
vorname_nachname_20130823-10.csv

usw ....

bis dato habe ich folgendes angewandt:

@echo off
cd\
C:
cd Program Files (x86)\GnuWin32\bin
wget ftp://XXXX/stockfile/ --user="XXXXX" --password="XXXXX"
exit

mir fehlt einfach die Formel wo quasi wget das datum und die aktuelle zeit einfügt.

Dann könnte man das ganze per aufgabenplanung zu 8, 9, 10 uhr ausführen lassen ...

wget ftp://XXXX/stockfile/vorname_nachname_YearMonthDay-AKTUELLE STUNDE --user="XXXXX" --password="XXXXX"

sowas in der richtung ...

also oben steht nicht die ganze batch weil der rest ist nur für den import .. wichtig ist das die richtige datei sowohl runtergeladen wird sowie dann auch
im nächsten befehl DIESE als auszuführende datei angewählt wird.

Danke im Voraus ....

LG TIMO

Content-Key: 215112

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

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

Member: Endoro
Endoro Aug 24, 2013 at 03:03:28 (UTC)
Goto Top
Hallo Timo,
versuch es damit:
set "YMD=%date:~6,4%%date:~3,2%%date:~0,2%"  
set "HR=%time:~0,2%"  
set "HR=%HR: =0%"  
set "fname=vorname_nachname_%YMD%-%HR%"  
wget ftp://XXXX/stockfile/%fname% --user="XXXXX" --password="XXXXX"  
befehl "%fname%"  
lg.
Member: tt1986
tt1986 Aug 26, 2013 at 14:52:11 (UTC)
Goto Top
hallo endoro,

wenn ich das doch richtig verstehe muss ich für jeden Stunde eine extra Batch datei erstellen richtig ?

Sehe ich das richtig das die Formeln nachschauen wieviel uhr wir gerade bei der ausführung haben und dieses dann in den Dateinamen schreiben !?

Könntest du mir die Formel kurz erläutern ?

Danke face-smile
Member: tt1986
tt1986 Aug 26, 2013 at 15:13:27 (UTC)
Goto Top
habe versucht deine formel zu implementieren sodass es nun so aussieht:

@echo off
cd\
C:
cd Program Files (x86)\GnuWin32\bin

set "YMD=%date:~6,4%%date:~3,2%%date:~0,2%"
set "HR=%time:~0,2%"
set "HR=%HR: =0%"
set "fname=Alpha_Stock_%YMD%-%HR%"

wget ftp://193.172.194.122/stockfile/ -r --user="XXXXXX" --password="XXXXXXXX"
"C:\Program Files (x86)\JTL-Software\JTL-wawi-ameise.exe" -s CT82036\JTLWAWI -d Mandant_4 -u XXXXXXXX -p XXXXXXX -t IMP26 -i "%fname%"
del "%fname%"

pause

nun läd er mir aber alle deiten aus dem ftp verzeichnis runter sodass er nicht zu dem import befehl JTL AMEISE kommt....

Er soll ja immer nur die neusten Files runterladen ... face-smile
Member: tt1986
tt1986 Aug 26, 2013 at 16:04:12 (UTC)
Goto Top
oh ich sehe gerade das dort noch ein -r drin war ... nun scheint es zu funktionieren ....

wenn ich die commandozeile richtig deute schaut er immer in welcher stunde er sich befindet sodass er bis 16.59 Uhr ein -16 hinter das datum schreibt richtig ??

das wäre schon perfekt dann lass ich das einfach per aufgabenplanung jede stunde durchlaufen.... habe schon gesehen, dass wenn der keine passende datei findet beendet der die kommandozeile einfach .. das wäre schon super !
Member: tt1986
tt1986 Aug 28, 2013 at 07:38:57 (UTC)
Goto Top
soweit scheint es zu funktionieren .. habe nur ein problem

bei der Uhrzeit 8 uhr und 9 uhr gibt er die uhrzeit als -09 Uhr aus .... aber die datei wird aufgeführt als -9 .... wie bekomm ich die 0 raus ?