Pagina principala » HOWTO » Cum se scrie un script batch pe Windows

    Cum se scrie un script batch pe Windows

    Știți cum să utilizați Promptul de comandă? Dacă faceți acest lucru, puteți scrie un fișier batch. În forma sa cea mai simplă, un fișier batch (sau un script batch) este o listă a mai multor comenzi care sunt executate atunci când faceți dublu clic pe fișier. Fișierele batch merg tot drumul înapoi la DOS, dar încă lucrează la versiunile moderne de Windows.

    Scripturile PowerShell și scripturile Bash pot fi mai puternice, dar fișierele batch pot fi totuși foarte folositoare dacă trebuie să executați comenzi de bază Windows.

    Baze de date bazate pe lot

    Un fișier batch este pur și simplu un fișier text salvat cu extensia de fișiere .bat. Puteți scrie una utilizând Notepad sau un editor de text mai avansat, cum ar fi Notepad ++, dar nu utilizați un procesor de text precum Microsoft Word.

    Să creăm un fișier batch simplu. Mai întâi, deschideți Notepad-ul. Introduceți în ea următoarele linii:

    ECHO de la ECHO Hello World PAUSE

    Apoi salvați fișierul făcând clic pe File> Save. Dați-i orice nume doriți, dar înlocuiți extensia implicită .txt cu extensia .bat.

    De exemplu, ați putea dori să o numiți hello_world.bat .

    Acum aveți un fișier batch cu extensia de fișiere .bat. Faceți dublu clic pe acesta pentru al rula. Acest fișier batch specifică setarea ECHO (care curăță ieșirea ascunzând comenzile de la imprimare la prompt, tipărește textul "Hello World" pe ecran și apoi așteaptă să apăsați o cheie înainte de a termina.

    Dacă nu ați adăugat PAUZĂ la fișier, fișierul lot pur și simplu va rula comenzile sale și apoi va închide automat. În acest caz, ar fi imprimat "Hello World" în fereastră și apoi închideți imediat fereastra Prompt Command. Când doriți să rulați rapid comenzi fără a vedea ieșirea, puteți omite acest lucru. Dacă executați mai multe comenzi, puteți plasa PAUZĂ comanda între ele.

    Scrierea unui fișier lot mai complex

    În mod fundamental este simplu să creați un fișier batch. Singurul lucru pe care trebuie să-l schimbați este ceea ce introduceți în Notepad. Pentru a rula mai multe comenzi, tastați fiecare pe propria linie și fișierul lot va rula fiecare în ordine.

    De exemplu, să presupunem că dorim să scriem un fișier batch care rulează mai multe comenzi de diagnosticare în rețea. Am putea să fugim ipconfig / toate pentru a vedea informații despre rețea, ping google.com pentru a vedea dacă serverele Google răspund și tracert google.com pentru a rula o traceroute la google.com și pentru a vedea dacă există probleme pe drum.

    În forma cea mai de bază, am putea plasa pur și simplu toate aceste comenzi într-un fișier batch, unul după altul, cum ar fi:

    ipconfig / toate ping google.com tracert google.com PAUSE

    Când rulați acest fișier, am vedea doar ieșirea fiecărei comenzi imediat după cealaltă. Dar acest lucru nu este neapărat modul ideal de a scrie un fișier batch.

    De exemplu, ați putea dori să adăugați linii de comentarii. Orice linie care începe cu a :: este o linie de comentarii și nu va fi executată. Asta le face o modalitate utilă de a explica ce se întâmplă în dosar pentru oricine ar putea să-i dați - sau pentru viitorul dvs. de sine, care ar putea să uite de ce ați pus o anumită comandă acolo.

    S-ar putea să doriți să adăugați comanda "ECHO OFF" la începutul fișierului. Aceasta este de obicei adăugată la începutul celor mai multe fișiere batch. Când faceți acest lucru, comenzile nu vor fi tipărite pe Prompt, dar rezultatele vor fi. De exemplu, veți vedea detaliile conexiunii la rețea, dar nu linia "ipconfig / all". Majoritatea oamenilor nu au grijă să vadă comenzile, astfel încât aceasta poate curăța ieșirea.

    Deci, iată cum ar putea arăta:

    :: Acest fișier batch verifică problemele de conectare la rețea. ECHO OFF :: Vezi detalii despre conexiunea la rețea ipconfig / all :: Verificați dacă Google.com este accesibil ping google.com :: Rulați un traceroute pentru a verifica ruta către Google.com tracert google.com PAUSE

    Există și alte indicații pe care le puteți folosi cu un astfel de fișier. De exemplu, s-ar putea să doriți să aveți în scenariul dvs. batch executați comenzile de mai sus și apoi aruncați ieșirea într-un fișier text pe care îl puteți vedea mai târziu. Pentru a face acest lucru, ați folosi >> operator după fiecare comandă pentru a adăuga ieșirea acestuia la fișierul text. Pe măsură ce citim ieșirea din fișierul text oricum, putem omite PAUZĂ comanda.

    :: Acest fișier batch verifică problemele de conexiune la rețea :: și salvează ieșirea într-un fișier .txt. ECHO OFF :: Vezi detalii despre conexiunea la rețea ipconfig / all >> results.txt :: Verificați dacă Google.com este accesibil ping google.com >> results.txt :: Rulați un traceroute pentru a verifica ruta către Google.com tracert google. com >> results.txt

    După ce executați scriptul de mai sus, veți găsi un fișier numit results.txt în același director ca fișierul batch cu ieșirea comenzilor. Fereastra Prompt Command se va închide automat odată ce fișierul batch este terminat.

    Exemplul pe care îl folosim mai sus se bazează pe tipărirea de informații către Promptul de comandă, astfel încât utilizatorul să o poată citi. Cu toate acestea, multe fișiere batch sunt proiectate să funcționeze non-interactiv. De exemplu, ați putea avea un fișier batch care șterge mai multe fișiere sau directoare ori de câte ori faceți dublu clic pe el. Trebuie doar să folosiți del comanda pentru a șterge fișiere sau DELTREE comanda pentru a șterge directoarele. Rețineți că utilizați doar aceleași comenzi pe care le-ați executa într-o fereastră de comandă.

    În mod fundamental, acesta este punctul în care se află cele mai multe fișiere batch - care rulează doar câteva comenzi una după alta. Cu toate acestea, fișierele batch pot fi de fapt mult mai complexe decât acestea. De exemplu, puteți utiliza instrucțiunile "IF" împreună cu comanda "GOTO" pentru a verifica valoarea ceva și apoi să treceți la linii diferite în funcție de rezultat. Acest lucru este mai mult ca scrierea unui mic program real decât un script rapid și murdar. Acesta este unul dintre motivele pentru care fișierele .bat sunt uneori numite "programe batch". Dacă doriți să faceți ceva mai complex, veți găsi o mulțime de ghiduri pentru a face anumite lucruri cu programarea pe lot online. Dar acum, știți elementele de bază ale modului de a arunca unul simplu împreună.