10 tipp a szkripteket, windows azt pro

Javítani kell a szkriptek Scripts parancssor - ezek a fájlok egy egyszerű szöveget, amely értelmezi a héj, mint egy sor parancs futtatása sorrendben. History szkriptek parancssori kezdődött hajnalán

Informatikai infrastruktúra a vállalat

Javítani kell a szkriptek

10 tipp a szkripteket, windows azt pro

Ha lehetséges, használja a környezeti változók

Egy változó a script, arra a következtetésre jutunk, hogy a változó neve közötti százalékos jelek (%), és amikor a szkript lefut, a százalék jel és a szöveg között helyébe a változó értékeit. A változók használatával teszi a script kód sokoldalúbb, így jobb esélye van a sikeres munka különböző számítógépeken. Például, a forgatókönyvet a héj nem kellene kemény kódot a Windows telepítési könyvtárat. Ehelyett egy változót SystemRoot, ami mindig pont egy bizonyos Windows telepítési könyvtár. Tehát, a csapat

Nem várhatjuk a szokásos kötegelt fájlt Command.com is jól működik cmd.exe

A Cmd.exe héj használja .cmd meghosszabbítása

Batch file Command.com szükséges bővítési .bat. Cmd.exe shell is használhatja a kiterjesztés .bat, de egy erősebb makrónyelvet cmd.exe sok csapat összeegyeztethetetlen Command.com. Így. bat fájlt, írt a cmd.exe sikertelen lehet, ha a felhasználó megpróbálja végrehajtani a Command.com (mint például a Windows 98). Az egyik módja annak, hogy elkerüljük ezt a problémát, hogy egy .cmd kiterjesztése a forgatókönyvet. Mivel Command.com nem ismeri fel a kiterjesztését .cmd, egyszerűen nem fogja futtatni a batch fájlt, ha a név végződik .cmd.

Győződjön meg arról, hogy a szükséges bináris hozzáférhető

Ha a szkript használja a programot, amely nem része a standard operációs rendszer telepítés, meg kell győződnie arról, hogy az összes ilyen programok álltak rendelkezésre. Azt is dokumentálja ezeket a függőségeket a szkripteket. Azt javaslom, hogy biztosítsák a rendelkezésre álló bináris hogy őket ugyanabban a könyvtárban a forgatókönyvet. Ezután a szintaxis használt futtatni őket

ahol exename - a neve a végrehajtható futtatni kívánt. szintaxis%

dp0 vissza a meghajtó, elérési út és fájlnév az aktuális script idézőjelek nélkül. A következtetés az egész szöveg idézőjelbe használata biztosítja a forgatókönyv, akkor is, ha a neve a fájl vagy könyvtár, amelyben a script tartalmaz idézőjelbe.

Helyes használat dupla idézőjelek

Úgy tűnik, hogy a dupla idézőjelek ( „) gyakori zavarok forrása azoknak, akik írni szkripteket. Dupla idézetek - ez csak egy módja annak, hogy azonosulni terek parancssori paramétereket. Például a jobb első pillantásra a parancssor

dir C: Program Files

valójában ez ad a csapatnak Dir két érv: C: Program Files és. Ahhoz, hogy a szándékát, hogy átmenjen egy parancsargumentum a C: Program Files (szóközökkel együtt), akkor csatolnia kell az idézőjelek közé:

dir «C: Program Files»

Az idézőjel nem része a mappa neve. Ezek jelentése a Dir parancs, a szöveg között az egyik érv.

Forgatókönyvek a parancs processzor is támogatja a parancssori paramétereket. Ahhoz, hogy használni parancssori paraméterei a script, akkor engedélyezze a felvételi% n (ahol n - szám 0-9). Ez a rekord az úgynevezett helyettesítő paraméter (vagy paraméter). Például, a forgatókönyvet felváltja a% 1 parancssor első argumentum% 2 - a második érv, stb Amellett, hogy a paraméterek a% 1% 9% 0 helyettesíti a szkript nevét,% * helyébe a teljes parancsfájl karakterlánc (kivéve a script neve.). . Itt említem meg parancssori mert amikor cmd.exe helyettesíti beállítások 1% -ról 9% -ra megfelelő parancssori elhagyja a dupla idézőjel, ha azok az érvelés. A nyilvánvaló következtetés: a script beállítása mindig idézőjelbe, ha szóközt tartalmaz. Ez a megfigyelés az alapja egy néhány egyszerű szabályt, gondosan kövesse, amit szinte teljesen megszünteti a problémát idézetek.

  • Ne használjon belül idézi forgatókönyv paraméterek (1% -ról 9%), mert az idézeteket. Ha szeretné használni a paramétert, ha a csapat, akkor eltérő karakterek idézetek (pl fogszabályozó), hogy ne szintaktikai hiba. A következő sor fog működni, még akkor is, ha az első argumentum (% 1) tartalmaz idézetek:

Kivételt képez ez alól, ha használjuk a szintaxis%

n, hogy távolítsa el idézetek paraméter (lásd. a következő szabályt).

  • Ne tegye idézetek belsejében egy környezeti változó. Hiányosságok a környezeti változók megengedett, idézetek nem szükséges. Ha azt szeretnénk másolni a paraméter egy változó, akkor a szintaxis%

n (ahol n - száma 1-től 9), amely visszatér a paraméter nélküli idézetek. Például a húr

1
másolja az első paraméter a script (idézőjelek nélkül) a variábilis DATAFILE. Kivételt képez az eset, amikor létrehozza a szöveget idézőjelbe, amely átkerül a másik csapat.

  • Ne felejtsük el, amikor szükség van rá, hogy a környezeti változók idézőjelben. Vegyük például az alábbi sort a script:

    Ezek közül az első sorokban másolatok második érv a script változó cél, eltávolítja idézetek. A második sor szintaktikailag helyes, mert a paraméter% 1 már idézőjelbe, ha szóközt tartalmaz, és a TARGET változót kell említeni, mert tartalmazhatnak szóközt.

    Felhasználási setlocal és Endlocal csapat

    Setlocal parancs átmásolja az összes környezeti változót és Endlocal parancs visszaállítja az összes változók értékeit, hogy ők a parancsfájl futtatása előtt. Endlocal is eltávolítja a változók által létrehozott script. Mindkét csapat teszi a forgatókönyvet több független és biztosítja, hogy a forgatókönyvet „kitakarítja után szemetet” visszaállításával környezeti változók eredeti értékükre, és távolítsa el változók olyan szkriptet.

    Ön is használja a parancsot setlocal Enableextensions, hogy pontosan tudja, hogy mit terjeszkedés csapatok szerepelnek. Expansion csapatok -, hogy javítsa a csoport belső parancsok cmd.exe (például Ha, Call), amely további funkciók, mint a csapatok Command.com, amelyek ugyanazokat a neveket. Expansion csapatok alapértelmezés szerint engedélyezve vannak, de azon ritka alkalmakkor, amikor ki van kapcsolva, setlocal Enableextensions csapat biztosítja felvételét tágulási csapat. Ahhoz, hogy minél több információt a kiterjesztett parancs, írja be a parancssorba a CMD /?.

    Használja a szimbólum a szükséges menekülési

    Cmd.exe használja a kalap (^) jeleként törölte a speciális értelmében fenntartott shell karaktereket. Például a jel () egy elválasztó parancs - ez lehetővé teszi, hogy több parancsot egy sorban. Ha a használni kívánt ampersand egy normális, a szó szoros értelmében, meg kell „semmisítse meg” speciális jelentését azáltal, hogy ezeket előtt a ^ jellel. Így, összhangban

    Echo A ^ karakter
    A parancs szeparátor

    ^ Jel hatására a shell, hogy megszünteti a rendes értelmezése a következő karakter neki. Különleges karakterek karakterek () ^ |. Nincs szükség a jele visszavonását, ha ezeket a szimbólumokat a húr idézőjelbe.

    Ne használja a Kilépés parancs nélkül / b

    Anélkül, hogy a / b Kilépés parancs bezárja az aktuális shell. Ha valaki elindítja cmd.exe és végrehajt egy script, amely tartalmazza a kilépési parancs az aktuális ülésén a héj zárja hirtelen. Csapat Kilépés / b lezárja a jelenlegi forgatókönyv, anélkül, hogy bezárná az aktuális shell ülésen. Ha szeretne többet megtudni az Exit parancsot, írja be a következő parancsot ki /?.

    A következő parancs óvatosan Ha ERRORLEVEL

    Ha ERRORLEVEL csapat ellenőrzi a kód az utolsó parancsot, amelynek végrehajtása befejeződött. Script viselkedése függ az eredmény a ellenőrző kódot a program befejeződik. Vegyük például a következő eset:

    Myprogram
    Ha ERRORLEVEL 1 Goto: ERROR

    Goto parancs ezeket a sorokat fogják elvégezni, ha Myprogram.exe vissza befejezése kód nagyobb vagy egyenlő 1 Más szóval, «Ha ERRORLEVEL n» nem jelent „, ha az utolsó kódot a program befejezése pontosan megegyezik n»; sőt, ez a feltétel azt jelenti, „ha az utolsó a program végén a kód nem kevesebb, mint n». Mivel ez a viselkedés, szükséges, hogy ellenőrizze a kódot a program befejezése csökkenő sorrendben (a legnagyobbtól a legkisebb). Ahhoz, hogy ellenőrizze az adott érték a kódot a program befejeződött, Dinamikus változók helyett ERRORLEVEL Ha ERRORLEVEL csapat. Meg kell szem előtt tartani, hogy ha ERRORLEVEL parancs abban különbözik a ERRORLEVEL változó, áll a lista a táblázatban. 1. Ha ERRORLEVEL parancs visszafelé kompatibilis Ha ERRORLEVEL parancsot Command.com; ERRORLEVEL változó csak a cmd.exe.

    Tekintsük a funkciók a start parancs

    Start parancs elindítja a programot vagy parancsot egy új konzolt. Azonban, ha megpróbálja futtatni a programot tartalmazó mappát terek (vagy ha a program neve szóközt tartalmaz), Start parancs viselkedés nem felel meg az elvárásoknak. Például a következő parancsot:

    Kezdés «C: Program FilesMicrosoft
    OfficeOffice11Winword.exe »

    Microsoft Word nem fut a várakozással ellentétben. Ehelyett a csapat, megnyílik egy új munkamenet indítása cmd.exe, ami a konzolt cím egy idézett szöveg. Ez a viselkedés azzal magyarázható, hogy a Start parancs az első sorban idézőjelben annak parancssorban a konzol ablak címét.

    Kerülő furcsasága, használjon egy pár idézőjelbe, hogy jelezze egy üres fejléc, majd egy sor kódot futtatni kívánt. Helyes Start program a következőképpen néz ki:

    Első «» «C: Program FilesMicrosoft
    OfficeOffice11Winword.exe »

    Csak nem lehet előre látni

    Cmd.exe shell script használják nagyon széles körben. Miután elsajátította ezt a cikket ajánlásokat, akkor képes lesz arra, hogy építsenek több megbízható forgatókönyvek és elkerülni a leggyakoribb problémákat.

    További anyagok script az online hozzáférésű internetes Windows IT Pro / RE

    Az erős és rugalmas technológia, mint senki a Windows PowerShell script nyelv (korábbi neve - Monád) - egy eszköz a Windows Server Management, a Microsoft által kiadott, mivel az Advent VBScript. PowerShell

    Egy példa a valós életben Bár a Microsoft elfoglalt támogatása Windows PowerShell egy új generációs programozási nyelv a Windows rendszer és a hálózati rendszergazdák és informatikai vezetők nagyobb hangsúlyt a végrehajtás a jelenlegi

    Az utolsó hiányosságok a képességeit a Windows felügyeleti scripting folyamatot Windows régóta tárgya nevetségessé részéről UNIX rendszergazdák. Ennek fő oka az volt, hogy a Windows nem olyan funkciót, hogy lehetne.

    Kapcsolódó cikkek