PDA

Visualizza la versione completa : [Batch] Errore senza senso


Il-predestinato
04-06-2010, 17:46
Scusatemi nel caso abbia messo il topic in una sezione sbagliata, non ne ho trovato uno più adatto a questo linguaggio. Allora, il codice è questo :

@ECHO OFF
CLS CHOICE /C:YN /N Eseguo il ping del server "%1" [Y/N]?
IF ERRORLEVEL 1 GOTO PING
IF ERRORLEVEL 2 GOTO END
:PING ECHO Eseguo il ping del server "%1"...
ECHO L'operazione potrebbe richiedere alcuni minuti...
ECHO Premere CTRL+N in qualsiasi momento per annullare l'operazione...
ECHO L'analisi sarà salvata nel file "Ping_%1.txt"...
PING %1>Ping_%1.txt ECHO
Analisi completata
:END
PAUSE
EXIT
Ma quando scelgo no mi fa lo stesso il ping del server, come faccio ? :)

oregon
04-06-2010, 17:59
Elimina la riga

IF ERRORLEVEL 1 GOTO PING

Il-predestinato
04-06-2010, 18:10
Originariamente inviato da oregon
Elimina la riga

IF ERRORLEVEL 1 GOTO PING

Ho provato a fare come dici te :

@ECHO OFF
CLS
CHOICE /C:YN /n Eseguo il ping del server "%1" [Y/N]?
IF ERRORLEVEL 2 GOTO END
ECHO Eseguo il ping del server "%1"...
ECHO L'operazione potrebbe richiedere alcuni minuti...
ECHO Premere CTRL+N in qualsiasi momento per annullare l'operazione...
ECHO L'analisi sarà salvata nel file "Ping_%1.txt"...
PING %1>Ping_%1.txt
ECHO Analisi completata
:END
PAUSE
EXIT
Ma mi dice :
CHOICE: only one prompt string allowed. Expected Form:
CHOICE [/C[:]choices] [/N] [/S] [/T[:]c,nn] [text]
Come posso fare ? :confused:

oregon
04-06-2010, 18:13
Questo non c'entra con la riga eliminata. Te lo dava anche prima ... no?

LeleFT
04-06-2010, 18:58
Originariamente inviato da Il-predestinato

@ECHO OFF
CHOICE /C:YN /n Eseguo il ping del server "%1" [Y/N]?


Non ho a disposizione il comando choice, ma credo proprio che il problema sia la parte in rosso: viene vista come una seconda opzione /N, ma choice ne ammette solo una.

PS: gli errori non sono mai senza senso... al massimo siamo noi a non comprenderlo.

Ciao. :ciauz:

Il-predestinato
04-06-2010, 19:07
Adesso è così :

@ECHO OFF
CLS
CHOICE /C:YN /N Eseguo il ping del server "%1" ?
IF ERRORLEVEL 1 GOTO PING
IF ERRORLEVEL 2 GOTO END
:PING
ECHO Eseguo il ping del server "%1"...
ECHO L'operazione potrebbe richiedere alcuni minuti...
ECHO Premere CTRL+N in qualsiasi momento per annullare l'operazione...
ECHO L'analisi sara' salvata nel file "Ping_%1.txt"...
PING %1>Ping_%1.txt
ECHO Analisi completata
:END
PAUSE
EXIT
Non mi sembra ci errori... :(

oregon
04-06-2010, 19:34
Originariamente inviato da Il-predestinato
Adesso è così :

@ECHO OFF
CLS
CHOICE /C:YN /N Eseguo il ping del server "%1" ?
IF ERRORLEVEL 1 GOTO PING
IF ERRORLEVEL 2 GOTO END
:PING
ECHO Eseguo il ping del server "%1"...
ECHO L'operazione potrebbe richiedere alcuni minuti...
ECHO Premere CTRL+N in qualsiasi momento per annullare l'operazione...
ECHO L'analisi sara' salvata nel file "Ping_%1.txt"...
PING %1>Ping_%1.txt
ECHO Analisi completata
:END
PAUSE
EXIT
[quote]Non mi sembra ci errori... :(

Ma perchè non togli la riga che ti ho detto?

Il-predestinato
04-06-2010, 19:52
Grande, ce lo fatta, era come dicevi te :


@ECHO OFF
CLS
CHOICE /C:YN /N Eseguo il ping del server "%1" ?
IF ERRORLEVEL 2 GOTO END
ECHO Eseguo il ping del server "%1"...
ECHO L'operazione potrebbe richiedere alcuni minuti...
ECHO Premere CTRL+N in qualsiasi momento per annullare l'operazione...
ECHO L'analisi sara' salvata nel file "Ping_%1.txt"...
PING %1>Ping_%1.txt
ECHO Analisi completata
:END
PAUSE
EXIT

MItaly
04-06-2010, 22:28
Originariamente inviato da LeleFT
PS: gli errori non sono mai senza senso... al massimo siamo noi a non comprenderlo.
Oddio, questo è generalmente vero, ma quando si parla di batch tutto è possibile... :D

Il-predestinato
04-06-2010, 23:29
Originariamente inviato da MItaly
Oddio, questo è generalmente vero, ma quando si parla di batch tutto è possibile... :D
CONCORDO :D

Loading