Sonstiges Usb über Batch erkennen, Windows CE7

litlegerman

Level-2
Beiträge
312
Reaktionspunkte
7
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo.
Ich habe hier ein XV300 Panel der Firma Eaton, auf diesem läuft im Hintergrund Windows ce7 (bzw 6 bei älteren die ich auch ab und an vewende).
Jetzt möchte ich gerne Dateien via Batch datei auf einen Usb Sticker verschieben, die Batch datei kann ich über die Visualisierungssoftware ausführen, das umkopieren meiner Dateien funktioniert auch.
Jetzt würde ich vor dem umkopieren gern erkennen ob ein USB stick angeschlossen ist, wenn nicht gebe ich eine Meldung aus und steige aus der Batch vorher aus.
Auf Windows 10 kann ich mit "IF EXIST I:" den USB Stick erkennen, aber das Dateisystem in ceX funktioniert so nicht, wenn ich versuche mit IF EXIST UsbStorage (so wird der Stick im Device erkannt) wie der der Schritt in der Batch einfach ignoriert...
kann mir jemand weiterhelfen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke...
Aber wie gesagt handelt es sich hier im eine Eaton HMI, da gibt es zwar auch scripts, die beschränke sich aber auf das HMI und nicht auf das Gerät, konnte es aber auch schon selbst lösen:

ECHO OFF
:Start
copy \StorageCard\custom\OK.txt \UsbStorage\Rezept\OK.txt
If EXIST \UsbStorage\Rezept\OK.txt GOTO Usb_oK
gui4batch.exe -text "USB-Stick nicht gefunden,\n erneut versuchen?" -b1 "--- Ja ---" -b2 "--- Abbrechen ---"
if ERRORLEVEL 2 goto END
if ERRORLEVEL 1 goto Start
:Usb_oK
DEL \UsbStorage\Rezept\OK.txt
gui4batch.exe -text "Konfinguration Rezeptur von USB-Stick laden?" -b1 "--- Ja ---" -b2 "--- Abbrechen ---"
if ERRORLEVEL 2 goto END
if ERRORLEVEL 1 goto Von_Usb
goto end
:Von_Usb
ExtCopy -source \UsbStorage\Rezept\konfig\ -dest \StorageCard\data\konfig -e -y
DELAY –t 5
gui4batch.exe -text "Damit die Rezeptur verwendet werden kann,\n ist ein Neustart erfoderlich\n (Automatikbetrieb wird abgebrochen!)" -b1 "--- Ja ---" -b2 "--- Abbrechen ---"
if ERRORLEVEL 2 goto END
if ERRORLEVEL 1 goto Neu
:Neu
reboot -quiet
goto end
:END
echo END
EXIT

Hier kopiere ich vor dem Versuch auf den Stick zuzugreifen eine kleine Datei (ok.txt) auf den Stick.
Wird diese nicht gefunden, frage ich auf "neu Versuch" oder "Abbruch" ab, wird sie gefunden, lösche ich sie wieder und starte meine Kopie...

Keine elegante Lösung, aber es funktioniert.
Gruß
Patrick
 
"Bevor ich Dateien auf den Stick kopiere, kopiere ich probehalber eine Datei auf den Stick, um zu sehen ob der Stick überhaupt vorhanden ist" - ist das nicht ein bisschen Gaga? ;)

Funktioniert das vielleicht, wenn Du einfach direkt fragst:
Code:
If EXIST \UsbStorage\* GOTO Usb_oK

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie gesagt, nicht elegant... aber "If EXIST *DRIVE* " funktioniert bei Win CE anscheinend nicht...
:confused:
Daß bei WinCE die Laufwerke nicht A: B: C: D: ... heißen, ist Dir bekannt. Bei WinCE heißt ein USB-Drive halt z.B. "\UsbStorage". Was ist daran unelegant, wenn man an den Drivename noch einen Stern * hängen muß? Der Stern bedeutet "irgendwas" - ist es Dir zu abwegig, zu fragen, ob "irgendwas" im Drive "\UsbStorage" existiert?

Harald
 
:confused:
Daß bei WinCE die Laufwerke nicht A: B: C: D: ... heißen, ist Dir bekannt. Bei WinCE heißt ein USB-Drive halt z.B. "\UsbStorage". Was ist daran unelegant, wenn man an den Drivename noch einen Stern * hängen muß? Der Stern bedeutet "irgendwas" - ist es Dir zu abwegig, zu fragen, ob "irgendwas" im Drive "\UsbStorage" existiert?

Harald

Vesteh mich bitte nicht falsch!
mit "nicht elegant" meinte ich meine Methode!
Das mit dem Sternchen werde ich nachher mal versuchen, mit
Code:
[LEFT][COLOR=#333333][FONT=Courier][I]If EXIST \UsbStorage[/I][/FONT][/COLOR][/LEFT]
hatte ich es schon veruscht, das meinte ich mit meinem Post vorher...
 
Zurück
Oben