Werte bei Programmaufruf mit Shell übergeben?
Hmm. Und weiter geht`s.
Wer auch immer da draussen sein mag, kann mir vielleicht helfen.
Folgendes Szenario:
Dateiaufruf
cmd > Datei.vbs 5 2
cmd > Datei.vbs 2 10
cmd > Datei.vbs 4 40
Die Werte in der Shell hinterm Dateinamen können also variieren.
Wie bekomme ich die in eine VBS Variable und kann prüfen, obs wirklich nur Zahlen sind?
Unsere Errorcoderückgabe funktioniert schon zum Teil.
Jedoch klappt unsere if / elseif/ else Abfrage nicht wirklich, da das Ergebnis nicht in den entsprechenden Bereich purzelt.
Wir möchten demnach mit den übergebenen Parametern einen Bereich definieren, der dann einen bestimmten Errorcode zurückgibt.
Wenn ich die Variablen fest im Code vorgebe, klappts.
Unsere derzeitige Abfrage
(geht nicht):
If OfPTN(1) >= PTNArray(comm(0)) Then
WScript.Echo OfPTN(1)
WScript.Quit 0
ElseIf OfPTN(1) > PTNArray(comm(1)) Then
WScript.Echo OfPTN(1)
WScript.Quit 1
Else
WScript.Echo OfPTN(1)
WScript.Quit 2
End IF
geht:
'Vergleich
If OfPTN >= PTNArray(0) Then
WScript.Echo "1"
ElseIf OfPTN > PTNArray(5) Then
WScript.Echo "2"
Else
WScript.Echo "3"
End IF
Lg
deeboo
Wer auch immer da draussen sein mag, kann mir vielleicht helfen.
Folgendes Szenario:
Dateiaufruf
cmd > Datei.vbs 5 2
cmd > Datei.vbs 2 10
cmd > Datei.vbs 4 40
Die Werte in der Shell hinterm Dateinamen können also variieren.
Wie bekomme ich die in eine VBS Variable und kann prüfen, obs wirklich nur Zahlen sind?
Unsere Errorcoderückgabe funktioniert schon zum Teil.
Jedoch klappt unsere if / elseif/ else Abfrage nicht wirklich, da das Ergebnis nicht in den entsprechenden Bereich purzelt.
Wir möchten demnach mit den übergebenen Parametern einen Bereich definieren, der dann einen bestimmten Errorcode zurückgibt.
Wenn ich die Variablen fest im Code vorgebe, klappts.
Unsere derzeitige Abfrage
(geht nicht):
If OfPTN(1) >= PTNArray(comm(0)) Then
WScript.Echo OfPTN(1)
WScript.Quit 0
ElseIf OfPTN(1) > PTNArray(comm(1)) Then
WScript.Echo OfPTN(1)
WScript.Quit 1
Else
WScript.Echo OfPTN(1)
WScript.Quit 2
End IF
geht:
'Vergleich
If OfPTN >= PTNArray(0) Then
WScript.Echo "1"
ElseIf OfPTN > PTNArray(5) Then
WScript.Echo "2"
Else
WScript.Echo "3"
End IF
Lg
deeboo
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 110100
Url: https://administrator.de/forum/werte-bei-programmaufruf-mit-shell-uebergeben-110100.html
Ausgedruckt am: 23.12.2024 um 07:12 Uhr
4 Kommentare
Neuester Kommentar
Hallo deeboo!
Ohne die davor liegenden Zeilen mit der Zuweisung der Werte an die Variablen lässt sich mit diesem Stück Code (das noch nicht einmal als solcher ist ) nicht so ganz viel anfangen ...
Je nachdem, was Du als "Zahl" betrachten willst, gäbe es in VBS zB die Funktion "IsNumeric()" (die allerdings Punkte in "Zahlen" etwas seltsam behandelt, indem sie diese ignoriert) ...
Grüße
bastla
Ohne die davor liegenden Zeilen mit der Zuweisung der Werte an die Variablen lässt sich mit diesem Stück Code (das noch nicht einmal als solcher ist ) nicht so ganz viel anfangen ...
Je nachdem, was Du als "Zahl" betrachten willst, gäbe es in VBS zB die Funktion "IsNumeric()" (die allerdings Punkte in "Zahlen" etwas seltsam behandelt, indem sie diese ignoriert) ...
Grüße
bastla
Moin deeboo,
Wenn Du möchtest, dann helfen wir Dir dabei.
BTW, dabei wäre der konkret eingetippselte Sourcecode eine gewisse Vereinfachung für uns.
Am liebsten in den von bastla erwähnten Code-Tags.
Grüße
Biber
Nur wie kann ich diese bestimmen?
Indem Du diese Bestimmung anhand des konkreten eingetippselten Sourcecodes erarbeitest.Wenn Du möchtest, dann helfen wir Dir dabei.
BTW, dabei wäre der konkret eingetippselte Sourcecode eine gewisse Vereinfachung für uns.
Am liebsten in den von bastla erwähnten Code-Tags.
Grüße
Biber