dedalus2011
Goto Top

IF Bedingung, Skript wird abgebrochen

Hallo,

ich habe folgendes Problem:

in einem größeren Skript habe ich folgendes Code snippet:

<code/>
set "P1="
if [%P1%] neq (echo rrr >>%P1%) else (echo FALSE)


Wenn die Variable leer ist, der Skript bricht einfach ab auch wenn die Bedingung falsch ist. Gibt es da eine einfache Art das Problem zu lösen?

Vielen Dank für Eure Tipps.

Gruß
dedalus2011

Content-ID: 203064

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

Ausgedruckt am: 24.11.2024 um 07:11 Uhr

bastla
bastla 09.03.2013 um 22:44:10 Uhr
Goto Top
Hallo dedalus2011!

Schreib einfach
if [%P1%] neq  (>>%P1% echo rrr) else (echo FALSE)
obwohl ich auf eine "leere" Variable %P1% eher so prüfen würde:
if defined P1 (>>"%P1%" echo rrr) else (echo FALSE)
Grüße
bastla
dedalus2011
dedalus2011 09.03.2013 aktualisiert um 23:03:34 Uhr
Goto Top
Mit

<code/>
if defined P1 (>>"%P1%" echo rrr) else (echo FALSE)


habe ich es eben probiert, ich bräuchte aber ein

<code/>
if defined P1 (>>"%P1%" echo.%line%) else (echo FALSE)


um ein "ECHO IS OFF" zu unterdrücken. Dann bricht aber mein Skript ab mit ") unexpected at this time".

Gruß
dedalus2011
bastla
bastla 09.03.2013 um 23:11:39 Uhr
Goto Top
Hallo dedalus!

Dann eben wieder
if defined P1 (echo.%line%>>"%P1%") else (echo FALSE)
Grüße
bastla
dedalus2011
dedalus2011 09.03.2013 aktualisiert um 23:56:52 Uhr
Goto Top
Super, danke. P1 ist in meinem Skript leider eine Pfadvariable mit Leerzeichen drin.

<code/>
set "P1="
set P2="C:\a b\text.txt"

if defined P1 (echo.%line% >>"%P1%") else (echo FALSE)

if defined P2 (echo.%line% >>"%P2%") else (echo FALSE)


Ohne die Anführungszeichen bricht der Skript ab, mit Anführungszeichen wird der Dateipfad nicht mehr gefunden (wegen doppelten Anführungszeichen).
Lassen sich Pfadvariablen mit Leerzeichen drin auch anders formulieren?

Gruß
dedalus2011
bastla
bastla 10.03.2013 aktualisiert um 00:01:18 Uhr
Goto Top
Hallo dedalus2011!

Du kannst doch anstatt
set  P2="C:\a b\text.txt"
auch
set  "P2=C:\a b\text.txt"
verwenden (musst dann aber in weiterer Folge eben immer %P2% unter Anführungszeichen setzen).

Grüße
bastla