Table of contents
TOC
Comprimi il sommario
Espandi il sommario

if

Corey Plett|Ultimo aggiornamento: 06/12/2016
|
1 Collaboratore

Si applica a: Windows Server 2016, Windows Server 2012 R2, Windows Server 2012

Esegue un'elaborazione condizionale nei programmi batch. Per esempi di come usare questo comando, vedi esempi.

Sintassi

if [not] ERRORLEVEL <Number> <Command> [else <Expression>]
if [not] <String1>==<String2> <Command> [else <Expression>]
if [not] exist <FileName> <Command> [else <Expression>]

Se le estensioni dei comandi sono abilitate, Usa la sintassi seguente:

if [/i] <String1> <compareOp> <String2> <Command> [else <Expression>]
if cmdextversion <Number> <Command> [else <Expression>]
if defined <Variable> <Command> [else <Expression>]

Parametri

ParametroDescrizione
notSpecifica che il comando deve essere effettuato solo se la condizione è false.
ERRORLEVEL Specifica una condizione vera solo se il programma precedente vengono eseguito per Cmd.exe restituito un codice di uscita maggiore o uguale a numero.
Specifica il comando che deve essere eseguito se viene soddisfatta la condizione precedente.
==Specifica un solo se condizione vera stringa1 e stringa2 sono gli stessi. Questi valori possono essere stringhe letterali o variabili batch (ad esempio, %1). Non è necessario racchiuderlo tra virgolette stringhe letterali.
esiste Specifica una condizione true se il nome file specificato esiste.
Specifica un operatore di confronto di tre lettere. L'elenco seguente rappresenta i valori validi per OpConfronto:

Quilatero uguale a

NEQ non è uguale a

LSS minore

LEQ minore o uguale a

GTR maggiore

GEQ maggiore o uguale a
/iforze confronti per ignorare la distinzione tra stringhe. Puoi usare /i sul stringa1==stringa2 forma di Se. Questi confronti sono generici, in quanto se sia stringa1 e stringa2 sono costituiti da cifre, solo le stringhe vengono convertite in numeri e viene eseguito un confronto numerico.
CMDEXTVERSION Specifica di una condizione true soltanto se il numero di versione interno associato alle estensioni di comando di Cmd.exe è uguale a o maggiore del numero specificato. La prima versione è 1. Aumenta in modo incrementale uno quando vengono aggiunti miglioramenti significativi alle estensioni del comando. La cmdextversion condizionale è mai true quando comando estensioni sono disabilitate (per impostazione predefinita, comando le estensioni sono abilitate).
definizione Specifica una condizione true se variabile è definito.
Specifica una riga di comando e i parametri per essere passato al comando in un altro clausola.
/?Visualizza la guida al prompt dei comandi.

osservazioni

  • Se la condizione specificata un Se clausola è true, viene eseguito il comando che segue la condizione. Se la condizione è false, il comando di Se clausola viene ignorato e il comando vengono eseguiti i comandi che sono specificato nel altro clausola.
  • Quando si arresta un programma, viene restituito un codice di uscita. Per usare i codici di uscita come condizioni, Usa errorlevel.
  • Se usi definito, le tre variabili seguenti vengono aggiunti all'ambiente: % errorlevel %), cmdcmdline %, e % cmdextversion %.
    • % errorlevel %) si espande in una rappresentazione di stringa del valore della variabile di ambiente ERRORLEVEL corrente. Questo presuppone che non c'è una variabile di ambiente esistente con il nome ERRORLEVEL se esiste, ti verrà restituita tale valore ERRORLEVEL invece.
    • cmdcmdline % si espande nella riga di comando originale passato a Cmd.exe prima di qualsiasi operazione da Cmd.exe. Questo presuppone che non c'è una variabile di ambiente esistente denominata se esiste, si otterrà il valore CMDCMDLINE invece.
    • % cmdextversion % si espande nella rappresentazione di stringa del valore corrente del cmdextversion. Questo presuppone che non c'è una variabile di ambiente esistente con denominata se esiste, si otterrà il valore CMDEXTverSION invece.
  • Devi usare il altro clausola sulla stessa riga di comando dopo il Se. ## Esempi Per visualizzare il messaggio "Impossibile trovare file di dati" Se non viene trovato il file di prodotto. dat, digitare: if not exist product.dat echo Cannot find data file Per formattare un disco nell'unità e visualizzare un messaggio di errore se si verifica un errore durante il processo di formattazione, digitare le righe seguenti in un file batch: :begin @echo off format a: /s if not errorlevel 1 goto end echo An error occurred during formatting. :end echo End of batch program. Per eliminare il file di prodotto. dat dalla directory corrente o visualizzare un messaggio se non viene trovato prodotto. dat, digitare le righe seguenti in un file batch: if EXIST Product.dat ( del Product.dat ) ELSE ( echo The Product.dat file is missing. ) > [!NOTE] > Queste righe possono essere combinate in una singola riga, come indicato di seguito: if EXIST Product.dat (del Product.dat) ELSE (echo The Product.dat file is missing.) Per visualizzare il valore della variabile di ambiente ERRORLEVEL dopo l'esecuzione di un file batch, digitare le righe seguenti nel file batch: goto answer%errorlevel% :answer1 echo Program had return code 1 :answer0 echo Program had return code 0 goto end :end echo Done! Per passare all'etichetta di "okay" se il valore della variabile di ambiente ERRORLEVEL è minore o uguale a 1, tipo: if %errorlevel% LEQ 1 goto okay #### riferimenti aggiuntivi Chiave sintassi della riga di comandoSeVai
© 2017 Microsoft