Si può effettivamente creare un blocco di istruzioni da eseguire dopo un condizionale. Ma hai la sintassi sbagliata. Le parentesi devono essere utilizzati esattamente come mostrato:
if <statement> (
do something
) else (
do something else
)
Tuttavia, non credo che non v'è alcun built-in sintassi per else-if
dichiarazioni. Sfortunatamente sarà necessario creare blocchi nidificati di istruzioni if
per gestirli.
In secondo luogo, il test %GPMANAGER_FOUND% == true
sembra molto sospettoso per me. Non so a cosa sia impostata la variabile d'ambiente o come la stai settando, ma dubito fortemente che il codice che hai mostrato produrrà il risultato che stai cercando.
Il seguente codice di esempio funziona bene per me:
@echo off
if ERRORLEVEL == 0 (
echo GP Manager is up
goto Continue7
)
echo GP Manager is down
:Continue7
Si prega di notare alcuni dettagli specifici circa il mio codice di esempio:
- Lo spazio aggiunto tra la fine dell'istruzione condizionale, e la parentesi di apertura.
- Sto impostando
@echo off
per non visualizzare tutte le delle istruzioni stampate sulla console mentre vengono eseguite, e invece è sufficiente vedere l'output di quelli che iniziano specificamente con echo
.
- Sto usando la variabile integrata
ERRORLEVEL
solo come test. Per saperne di più here
fonte
2011-02-13 10:21:17
Forse questo potrebbe aiutare: http://commandwindows.com/batchfiles-branching.htm – esaj
Ya, questo aiuta. DOS fa schifo. Se voglio usare più istruzioni in se altrimenti devo usare && tra le istruzioni? o c'è un modo più elegante? –