Com escriure un script per lots a Windows

Sabeu utilitzar l’indicatiu d’ordres? Si ho feu, podeu escriure un fitxer per lots. En la seva forma més senzilla, un fitxer per lots (o script per lots) és una llista de diverses ordres que s’executen quan feu doble clic al fitxer. Els fitxers per lots tornen a DOS, però continuen funcionant en versions modernes de Windows.

Els scripts PowerShell i els scripts Bash poden ser més potents, però els fitxers per lots poden ser molt útils si necessiteu executar ordres bàsiques de Windows.

Conceptes bàsics sobre fitxers per lots

Un fitxer per lots és simplement un fitxer de text desat amb l'extensió de fitxer .bat. Podeu escriure’n un mitjançant el Bloc de notes o un editor de text més avançat com Notepad ++, però no utilitzeu un processador de textos com el Microsoft Word.

Creem un fitxer per lots senzill. Primer, obriu el Bloc de notes. Escriviu-hi les línies següents:

ECHO OFF ECHO Hello World PAUSE

A continuació, deseu el fitxer fent clic a Fitxer> Desa. Poseu-li el nom que vulgueu, però substituïu l'extensió de fitxer .txt per defecte per l'extensió .bat.

Per exemple, és possible que vulgueu anomenar-lo hello_world.bat .

Ara teniu un fitxer per lots amb l'extensió de fitxer .bat. Feu-hi doble clic per executar-lo. Aquest fitxer per lots concret desactiva ECHO (que neteja la sortida ocultant les ordres que no s’imprimeixen a la pantalla, imprimeix el text “Hello World” a la pantalla i, a continuació, espera que premeu una tecla abans que acabi.

Si no vau afegir PAUSA al fitxer, el fitxer per lots simplement executaria les seves ordres i després es tancaria automàticament. En aquest cas, imprimiria "Hello World" a la finestra i tancaria immediatament la finestra del símbol del sistema. Quan vulgueu executar ràpidament ordres sense veure la sortida, podeu ometre-ho. Si executeu diverses ordres, podeu col·locar el fitxer PAUSA ordre entre ells.

Escriure un fitxer per lots més complex

És fonamental crear un fitxer per lots. L'únic que heu de canviar és el que escriviu al Bloc de notes. Per executar diverses ordres, escriviu cadascuna a la seva pròpia línia i el fitxer per lots executarà cadascuna en ordre.

Per exemple, suposem que volem escriure un fitxer per lots que executi diverses ordres de diagnòstic de xarxa. És possible que vulguem córrer ipconfig / all per veure informació de la xarxa, fer ping a google.com per veure si els servidors de Google responen i tracert google.com per executar una ruta a google.com i veure si hi ha algun problema en el camí.

En la forma més bàsica, podríem simplement col·locar totes aquestes ordres en un fitxer per lots, un darrere l’altre, així:

ipconfig / all ping google.com tracert google.com PAUSA

Quan executem aquest fitxer, només veuríem la sortida de cada ordre just després de l’altra. Però aquesta no és necessàriament la forma ideal d’escriure un fitxer per lots.

Per exemple, és possible que vulgueu afegir línies de comentaris. Qualsevol línia que comenci per un :: és una línia de comentaris i no s’executarà. Això els converteix en una manera útil d’explicar què passa al fitxer per a qualsevol persona a qui pugueu donar-lo o per al vostre futur futur, que pot oblidar per què hi poseu una ordre determinada.

És possible que també vulgueu afegir l'ordre "ECHO OFF" al començament del fitxer. Normalment s’afegeix a l’inici de la majoria de fitxers per lots. Quan feu això, les ordres en si mateixes no s’imprimiran al símbol del sistema, però els resultats seran. Per exemple, veureu els detalls de la connexió de xarxa, però no la línia "ipconfig / all". A la majoria de la gent no li interessa veure les ordres, de manera que això pot netejar la sortida.

Així que això és el que podria semblar:

:: Aquest fitxer per lots comprova si hi ha problemes de connexió de xarxa. ECHO OFF :: Veure detalls de la connexió de xarxa ipconfig / all :: Comproveu si Google.com és accessible ping google.com :: Executeu una traça ruta per comprovar la ruta a Google.com tracert google.com PAUSA

Hi ha altres indicacions que podeu seguir amb un fitxer per lots com aquest. Per exemple, és possible que vulgueu que el vostre script per lots executi les ordres anteriors i, a continuació, bolqueu la sortida en un fitxer de text que podeu veure més endavant. Per fer-ho, faríeu servir el fitxer >> després de cada ordre per afegir la seva sortida al fitxer de text. Com que llegirem la sortida del fitxer de text de totes maneres, podem ometre el fitxer PAUSA comandament.

:: Aquest fitxer per lots comprova si hi ha problemes de connexió de xarxa :: i desa la sortida en un fitxer .txt. ECHO OFF: Veure els detalls de la connexió de xarxa ipconfig / all >> results.txt :: Comproveu si Google.com és accessible ping google.com >> results.txt :: Executeu una traceroute per comprovar la ruta a Google.com tracert google. com >> resultats.txt

Després d’executar l’escriptura anterior, trobareu un fitxer anomenat results.txt a la mateixa carpeta que el fitxer per lots amb la sortida de les ordres. La finestra del símbol del sistema es tancarà automàticament un cop s'hagi executat el fitxer per lots.

L'exemple que fem servir anteriorment es basa en imprimir informació al símbol del sistema perquè l'usuari pugui llegir-la. No obstant això, molts fitxers per lots estan dissenyats per executar-se de manera no interactiva. Per exemple, podeu tenir un fitxer per lots que suprimeixi diversos fitxers o directoris sempre que hi feu doble clic. Només hauríeu d’utilitzar el del per suprimir fitxers o el fitxer deltree ordre per suprimir directoris. Recordeu que només utilitzeu les mateixes ordres que executaríeu en una finestra del símbol del sistema.

Fonamentalment, aquest és el punt de la majoria de fitxers per lots: només s’executen algunes ordres una rere l’altra. No obstant això, els fitxers per lots poden ser significativament més complexos que això. Per exemple, podeu utilitzar instruccions "IF" juntament amb l'ordre "GOTO" per comprovar el valor d'alguna cosa i després saltar a línies diferents segons el resultat. Això s’assembla més a escriure un programa petit real que a un guió ràpid i brut. Aquesta és una de les raons per les quals, de vegades, els fitxers .bat s’anomenen "programes per lots". Si voleu fer quelcom més complex, trobareu moltes guies per fer coses específiques amb programació per lots en línia. Però ara ja coneixeu els conceptes bàsics sobre com llançar-ne un de senzill.


$config[zx-auto] not found$config[zx-overlay] not found