Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Feltételes feldolgozást végez kötegelt programokban.
Szinopszis
if [not] ERRORLEVEL <number> <command> [else <expression>]
if [not] <string1>==<string2> <command> [else <expression>]
if [not] exist <filename> <command> [else <expression>]
Ha a parancsbővítmények engedélyezve vannak, használja a következő szintaxist:
if [/i] <string1> <compareop> <string2> <command> [else <expression>]
if cmdextversion <number> <command> [else <expression>]
if defined <variable> <command> [else <expression>]
Paraméterek
Paraméter | Leírás |
---|---|
nem | Azt határozza meg, hogy a parancsot csak akkor kell végrehajtani, ha a feltétel hamis. |
hibaszintű <number> |
Csak akkor ad meg igaz feltételt, ha az előző, Cmd.exe által futtatott program számmal egyenlő vagy annál nagyobb kilépési kódot adott vissza. |
<command> |
Megadja azt a parancsot, amelyet az előző feltétel teljesülése esetén végre kell hajtani. |
<string1>==<string2> |
Csak akkor ad meg igaz feltételt, ha sztring1 és sztring2 azonosak. Ezek az értékek lehetnek literális sztringek vagy kötegváltozók (például %1 ). A literális sztringeket nem kell idézőjelek közé foglalnia. |
létezik <filename> |
Igaz feltételt ad meg, ha a megadott fájlnév létezik. |
<compareop> |
Hárombetűs összehasonlító operátort ad meg, beleértve a következőket:
|
/én | Sztring-összehasonlítások kényszerítése a kis- és nagybetűk figyelmen kívül hagyására. A /istring1==string2 formájában is használhatja, ha. Ezek az összehasonlítások általánosak, ha sztring1 és sztring2 csak numerikus számjegyekből állnak, a sztringek számokká lesznek konvertálva, és numerikus összehasonlítást hajtanak végre. |
cmdextversion <number> |
Csak akkor ad meg igaz feltételt, ha az Cmd.exe parancskiterjesztési funkciójával társított belső verziószám egyenlő vagy nagyobb, mint a megadott szám. Az első verzió 1. Ha jelentős fejlesztéseket ad hozzá a parancsbővítményekhez, az egy lépéssel növekszik. A parancskiterjesztés feltétele soha nem igaz, ha a parancsbővítmények le vannak tiltva (alapértelmezés szerint a parancsbővítmények engedélyezve vannak). |
definiált <variable> |
Igaz feltételt ad meg, ha változó van definiálva. |
<expression> |
Megadja a parancssori parancsot és azokat a paramétereket, amelyeket át kell adni a parancsnak egy más záradékban. |
/? | Súgó megjelenítése a parancssorban. |
Megjegyzések
Ha egy záradékban megadott feltétel igaz, a rendszer végrehajtja a feltételt követő parancsot. Ha a feltétel hamis, akkor a parancsa, ha záradék figyelmen kívül lesz hagyva, és a parancs végrehajtja a más záradékban megadott parancsokat.
Amikor egy program leáll, egy kilépési kódot ad vissza. Kilépési kódok feltételként való használatához használja a hibaszintű paramétert.
Ha definiálthasznál, a rendszer a következő három változót adja hozzá a környezethez: %errorlevel%, %cmdcmdline%és %cmdextversion%.
%errorlevel%: Az ERRORLEVEL környezeti változó aktuális értékének sztring-ábrázolásával bővül ki. Ez a változó feltételezi, hogy még nem létezik HIBASZINT nevű környezeti változó. Ha van ilyen, ezt az ERRORLEVEL értéket fogja kapni.
%cmdcmdline%: A Cmd.exeáltal történő feldolgozás előtt Cmd.exe átadott eredeti parancssorba bont. Ez feltételezi, hogy még nincs CMDCMDLINE nevű környezeti változó. Ha van ilyen, akkor a CMDCMDLINE értéket fogja megkapni.
%cmdextversion%: A parancsmag-aktuális értékének sztringképére bont. Ez feltételezi, hogy még nincs CMDEXTVERSION nevű környezeti változó. Ha van ilyen, ezt a CMDEXTVERSION értéket fogja megkapni.
A záradékot a utáni paranccsal megegyező sorban kell használnia, ha.
Példák
Az üzenet megjelenítéséhez Nem található adatfájl, ha a Product.dat nem található, írja be a következőt:
if not exist product.dat echo Cannot find data file
Ha formázni szeretne egy lemezt az A meghajtón, és hibaüzenetet szeretne megjeleníteni, ha hiba történik a formázási folyamat során, írja be a következő sorokat egy kötegfájlba:
:begin
@echo off
format a: /s
if not errorlevel 1 goto end
echo An error occurred during formatting.
:end
echo End of batch program.
Ha törölni szeretné a fájlt Product.dat az aktuális könyvtárból, vagy ha Product.dat nem található, akkor írja be a következő sorokat egy kötegfájlba:
IF EXIST Product.dat (
del Product.dat
) ELSE (
echo The Product.dat file is missing.
)
Megjegyzés
Ezek a vonalak egyetlen sorba egyesíthetők az alábbiak szerint:
IF EXIST Product.dat (del Product.dat) ELSE (echo The Product.dat file is missing.)
Ha egy kötegfájl futtatása után meg szeretné jeleníteni az ERRORLEVEL környezeti változó értékét, írja be a következő sorokat a kötegfájlba:
goto answer%errorlevel%
:answer1
echo The program returned error level 1
goto end
:answer0
echo The program returned error level 0
goto end
:end
echo Done!
Ha az ERRORLEVEL környezeti változó értéke kisebb vagy egyenlő 1-nél, lépjen a helyes címkére, írja be a következőt:
if %errorlevel% LEQ 1 goto okay