Hi Leute,
ich habe schon viel programmiert, aber DOS und Batch treiben mich regelmäßig in den Wahnsinn! :-)
(Vor allem brauche ich das gaaaaanz selten!)
Ich muss in einer Batch verifizieren, ob ein COM-Port existiert und ob die Schnittstelle nicht geöffnet ist. Danach möchte ich einen Server starten, der diese Schnittstelle verwendet (daher zuvor die Abfragen).
Das Programm muss von Windows XP bis Win 10 funktionieren, da unsere Kunden viele verschiedene Systeme im Einsatz haben.
(Ich weiß, die Automatisierungsbranche ist träge und unbelehrbar! gg)
Würde ich in einer DOS-Box händisch testen, würde ich das so machen:
1. COM1 existiert und ist frei:
C:\>echo test > com1
2. COM1 existiert, ist aber bereits geöffnet:
C:\>echo test > com1
Zugriff verweigert
3. COM2 existiert nicht:
C:\>echo test > com2
Das System kann die angegebene Datei nicht finden.
Alle meine Versuche, das Ergebnis umzuleiten und dann zu parsen schlugen fehl, also z.B:
Ebenso die Abfrage auf %errorlevel% und alles andere was mir eingefallen ist (if exist, etc.).
Wenn jemand von Euch mir die Richtung zeigen könnte, wäre ich sehr dankbar! Mir würde es schon helfen, wenn das Ergebnis in einer Variable stehen würde. Parsen schaffe ich dann schon irgendwie...
LG und vielen Dank im Voraus
Chris
ich habe schon viel programmiert, aber DOS und Batch treiben mich regelmäßig in den Wahnsinn! :-)
(Vor allem brauche ich das gaaaaanz selten!)
Ich muss in einer Batch verifizieren, ob ein COM-Port existiert und ob die Schnittstelle nicht geöffnet ist. Danach möchte ich einen Server starten, der diese Schnittstelle verwendet (daher zuvor die Abfragen).
Das Programm muss von Windows XP bis Win 10 funktionieren, da unsere Kunden viele verschiedene Systeme im Einsatz haben.
(Ich weiß, die Automatisierungsbranche ist träge und unbelehrbar! gg)
Würde ich in einer DOS-Box händisch testen, würde ich das so machen:
1. COM1 existiert und ist frei:
C:\>echo test > com1
2. COM1 existiert, ist aber bereits geöffnet:
C:\>echo test > com1
Zugriff verweigert
3. COM2 existiert nicht:
C:\>echo test > com2
Das System kann die angegebene Datei nicht finden.
Alle meine Versuche, das Ergebnis umzuleiten und dann zu parsen schlugen fehl, also z.B:
Code:
for /f "delims=" %%j in ('"echo test > %myCOM%"') do set rslt=%%j
echo Ergebnis %rslt%
Ebenso die Abfrage auf %errorlevel% und alles andere was mir eingefallen ist (if exist, etc.).
Wenn jemand von Euch mir die Richtung zeigen könnte, wäre ich sehr dankbar! Mir würde es schon helfen, wenn das Ergebnis in einer Variable stehen würde. Parsen schaffe ich dann schon irgendwie...
LG und vielen Dank im Voraus
Chris