Il cmd.exe, noto anche come prompt dei comandi, è uno dei com­po­nen­ti software più vecchi di Windows. Da decenni lo strumento della riga di comando offre la pos­si­bi­li­tà di ef­fet­tua­re modifiche dirette ai sistemi operativi Microsoft. Stret­ta­men­te collegati al prompt dei comandi sono i co­sid­det­ti file batch (noti anche come file BAT) che fanno ri­fe­ri­men­to a cmd.exe con comandi pre­de­fi­ni­ti dall’azienda e sono in grado di elaborare i comandi in batch. In questo tutorial sco­pri­re­te cosa con­trad­di­stin­gue esat­ta­men­te questi utili script e come creare un file batch, salvarlo ed eseguirlo au­to­no­ma­men­te.

Registra il tuo dominio
  • Domain Connect gratuito per una con­fi­gu­ra­zio­ne facile del DNS
  • Cer­ti­fi­ca­to SSL Wildcard gratuito
  • Pro­te­zio­ne privacy inclusa

Cos’è un file batch o BAT?

Un file batch (anche file BAT, script batch o file di la­vo­ra­zio­ne in batch) è un file di testo che può essere eseguito dallo strumento della riga di comando di Windows cmd.exe come ela­bo­ra­zio­ne in batch. Il prompt dei comandi funge a questo riguardo sia da in­ter­pre­te, sia da ambiente di runtime. In parole semplici, si tratta di un programma in­for­ma­ti­co o di uno script i cui dati o compiti vengono elaborati in sequenza tramite il prompt dei comandi.

N.B.

Il termine “ela­bo­ra­zio­ne in batch” è stato coniato agli albori dell’ela­bo­ra­zio­ne dei dati, in cui un’ela­bo­ra­zio­ne in­te­rat­ti­va era ancora im­pos­si­bi­le. I set di dati da elaborare si pre­sen­ta­va­no all’epoca so­li­ta­men­te sotto forma di schede perforate – i supporti di sal­va­tag­gio dell’epoca – che venivano elaborati come pila (in inglese batch), scheda dopo scheda. Nei moderni sistemi operativi in­for­ma­ti­ci il termine è divenuto noto so­prat­tut­to in relazione alla pub­bli­ca­zio­ne di MS-DOS (1981) e ai file batch con cui lavora.

Uti­liz­zan­do il cmd.exe come in­ter­pre­te e ambiente di runtime, i file batch per­met­to­no di uti­liz­za­re ed eseguire i normali comandi CMD. Inoltre, durante la scrittura di un file batch è possibile uti­liz­za­re, tra le altre cose, commenti, ancore, variabili, con­di­zio­ni e query. Affinché i file di testo possano essere con­ver­ti­ti in file batch, nei sistemi Microsoft più recenti è ne­ces­sa­rio ag­giun­ge­re l’esten­sio­ne .bat. In Windows NT e OS/2 veniva co­mu­ne­men­te uti­liz­za­ta l’esten­sio­ne .cmd.

Fatto

Nel 2006, con la Po­wer­Shell, Microsoft ha pub­bli­ca­to un framework che dal 2016 viene svi­lup­pa­to per tutte le piat­ta­for­me sotto licenza MIT open source e che consente la pro­gram­ma­zio­ne e l’ese­cu­zio­ne di file di ela­bo­ra­zio­ne in batch. La Po­wer­Shell mette a di­spo­si­zio­ne a questo scopo un in­ter­pre­te dei comandi al­ter­na­ti­vo e una lingua di scripting propria de­no­mi­na­ta Po­wer­Shell Scripting Language.

Creare un file batch: tutorial passo per passo

Creare dei propri file BAT è utile se si eseguono sequenze di comandi ri­cor­ren­ti che si desidera au­to­ma­tiz­za­re. A questo riguardo può trattarsi di procedure di accesso o dell’avvio di co­sid­det­ti programmi TSR (terminate and stay resident), che devono fun­zio­na­re co­stan­te­men­te come processi in back­ground. Di seguito vi spie­ghia­mo di quali strumenti avete bisogno per la creazione di file BAT e qual è l’esatta procedura da seguire per creare, salvare ed eseguire i vostri file di ela­bo­ra­zio­ne batch.

Passo 1: scegliere e avviare l’editor

Come già detto, i documenti di testo sono una buona base per creare script batch. Per scrivere un proprio file BAT, quindi, è suf­fi­cien­te uti­liz­za­re un normale editor di testo. Dato che fun­zio­na­li­tà come la co­lo­ra­zio­ne della sintassi non sono realmente ne­ces­sa­rie, l’editor di Microsoft integrato di default in Windows (in breve, editor), co­no­sciu­to anche con il nome originale inglese Notepad (Blocco note), è as­so­lu­ta­men­te suf­fi­cien­te. Per aprirlo vi basta digitare il termine “Notepad” o “Editor” nella ricerca di Windows, quindi fare clic sull’icona cor­ri­spon­den­te nei risultati della ricerca:

Passo 2: acquisire di­me­sti­chez­za con i comandi batch

Per creare file batch non c’è bisogno di ap­pren­de­re un lin­guag­gio di pro­gram­ma­zio­ne complesso. Tuttavia la co­no­scen­za dei più comuni comandi di sistema e della relativa fun­zio­na­li­tà nei file batch è un requisito im­pre­scin­di­bi­le; per questo vi con­si­glia­mo di acquisire di­me­sti­chez­za con alcuni comandi prima di ci­men­tar­vi nella scrittura del vostro primo script. Tra i comandi più im­por­tan­ti che è as­so­lu­ta­men­te ne­ces­sa­rio conoscere figurano i seguenti:

  • ECHO: permette di vi­sua­liz­za­re a schermo le stringhe di testo dei comandi eseguiti
  • @ECHO OFF: di­sa­bi­li­ta la vi­sua­liz­za­zio­ne a schermo delle stringhe di testo dei comandi eseguiti
  • START: esegue un file con la ri­spet­ti­va ap­pli­ca­zio­ne standard
  • REM: registra una riga di commento
  • MKDIR/RMDIR: crea e/o cancella una cartella
  • DEL: cancella il(i) file se­le­zio­na­to(i)
  • COPY: copia il(i) file se­le­zio­na­to(i)
  • TITLE: elabora il titolo della finestra CMD
N.B.

L’elenco completo dei prin­ci­pa­li comandi è contenuto nel nostro det­ta­glia­to articolo sul tema “Comandi batch”.

Passo 3: Creare e salvare il primo file batch

Un modo molto semplice per av­vi­ci­nar­si all’arte della scrittura di file batch consiste nel creare uno script semplice che genera con­tem­po­ra­nea­men­te più cartelle su un supporto dati se­le­zio­na­to del vostro sistema. Se, ad esempio, create un file BAT con il seguente input, una volta eseguito questo crea sull’unità C: due cartelle de­no­mi­na­te “Esempio1” ed “Esempio2”:

MKDIR C:\Esempio1
MKDIR C:\Esempio2

Copiate queste due righe in un documento vuoto del Blocco note, come raf­fi­gu­ra­to nello screen­shot seguente:

Per salvare queste istru­zio­ni BAT e/o lo script, fate clic su “File”, quindi se­le­zio­na­te la voce di menu “Salva con nome”. Spe­ci­fi­ca­te il percorso di sal­va­tag­gio de­si­de­ra­to e assegnate un nome allo script (senza di­men­ti­ca­re l’esten­sio­ne .bat) nel campo “Nome file”:

Passo 4: eseguire lo script BAT creato

Dopo avere creato il file BAT e averlo salvato, avete due pos­si­bi­li­tà per eseguirlo: potete lanciare lo script nel normale ambiente di Esplora risorse oppure aprire il prompt dei comandi e lanciarlo tramite un comando adatto nella riga di comando.

Tra le due varianti, la prima è senza dubbio la più semplice e adatta per i meno esperti, in quanto richiede sem­pli­ce­men­te di navigare fino alla cartella in cui si trova il file batch e suc­ces­si­va­men­te lanciarlo facendo doppio clic.

N.B.

Se uno script batch contiene comandi che ri­chie­do­no i diritti di am­mi­ni­stra­to­re, deve essere lanciato con il ruolo di am­mi­ni­stra­to­re. In questo caso se­le­zio­na­te il file di ela­bo­ra­zio­ne batch facendo clic destro, quindi cliccate sul pulsante “Esegui come am­mi­ni­stra­to­re”.

Se, invece, volete aprire il file batch tramite la riga di comando, procedete nel modo seguente:

  1. Aprite la funzione di ricerca di Windows e digitate “cmd”.
  2. Fate clic con il tasto sinistro del mouse su “Prompt dei comandi” per avviare la riga di comando nor­mal­men­te. Se avete bisogno dei diritti di am­mi­ni­stra­to­re, fate clic su “Prompt dei comandi” con il tasto destro del mouse, quindi se­le­zio­na­te “Esegui come am­mi­ni­stra­to­re”.
  3. Con il comando “change directory” (cd), accedete alla cartella in cui si trova il file batch.
  4. Digitate il nome dello script batch (com­pren­si­vo dell’esten­sio­ne) e premete Invio.

Passo 5: apportare modifiche suc­ces­si­ve ai file batch creati

Uno script BAT già creato può essere mo­di­fi­ca­to in qualunque momento, ad esempio ag­giun­gen­do nuovi comandi o eli­mi­nan­do comandi esistenti, oppure mo­di­fi­can­do le cartelle in cui è salvato. A questo scopo aprite la cartella in cui si trova lo script batch e clic­ca­te­lo con il tasto destro. Se­le­zio­na­te quindi l’opzione “Modifica”:

E-mail pro­fes­sio­na­le
La tua e-mail con il provider made in Germany n°1 in Europa
  • Dominio in linea con la tua e-mail
  • Tec­no­lo­gia made in Germany
  • Nuove fun­zio­na­li­tà IA

Esempi di script batch più complessi e di utilizzo frequente

La procedura passo per passo appena il­lu­stra­ta permette di creare file batch di ogni genere, in­di­pen­den­te­men­te dal tipo e dal numero di comandi di sistema uti­liz­za­ti. L’utilità di uno script aumenta ov­via­men­te di pari passo con la frequenza con cui viene uti­liz­za­to. Per con­clu­de­re pro­po­nia­mo pertanto due esempi di file batch con valore a lungo termine che il­lu­stra­no le pos­si­bi­li­tà di ela­bo­ra­zio­ne batch tramite riga di comando di Windows.

Script batch con mec­ca­ni­smo di backup semplice

La grande praticità dei file batch è di­mo­stra­ta dall’esempio seguente, con il quale è possibile far eseguire al sistema backup periodici di una de­ter­mi­na­ta cartella:

XCOPY C:\Cartella di origine C:\Cartella di backup /m /e /y

Se create ed eseguite un file batch con­te­nen­te la riga sopra indicata, tramite il comando “XCOPY” copiate il contenuto della “cartella di origine” nella “cartella di backup”. Ov­via­men­te anche le directory in cui si trovano le due cartelle devono essere op­por­tu­na­men­te spe­ci­fi­ca­te. I tre parametri finali hanno l’effetto seguente:

  • /m: fa sì che vengano copiati solo i file ag­gior­na­ti, evitando che i file già salvati non vengano nuo­va­men­te copiati durante i processi di backup suc­ces­si­vi.
  • /e: indica che, durante il backup, devono essere con­si­de­ra­te anche tutte le sot­to­car­tel­le presenti nella cartella spe­ci­fi­ca­ta.
  • /y: elimina la richiesta di conferma che un file di de­sti­na­zio­ne esistente (al quale sono state apportate modifiche dall’ultimo backup) debba essere so­vra­scrit­to.

File batch con funzione di backup più complessa

Il programma di backup sopra indicato permette la copia dei file originali dalla cartella di origine alla cartella di de­sti­na­zio­ne. Tuttavia è anche possibile creare un file BAT che ri­par­ti­sce il contenuto di file originali tra diverse cartelle di de­sti­na­zio­ne, laddove come criterio di selezione può essere applicato per esempio il tipo di file. A questo scopo è ne­ces­sa­rio uti­liz­za­re il ciclo FOR, che permette l’ese­cu­zio­ne multipla di un comando con un argomento variabile:

cd C:\Cartella di origine
FOR %%f IN (*.doc *.txt) DO XCOPY C:\Cartella di origine"%%f" C:\Cartella di backup\Testi /m /y
FOR %%f IN (*.jpg *.png *.bmp) DO XCOPY C:\Cartella di origine "%%f" C:\Cartella di backup\Immagini /m /y

Il codice di comando batch eseguito fa sì che

  • tutti i file contenuti nella cartella di origine e aventi esten­sio­ne .doc e .txt vengano spostati nella cartella di backup “Testi”;
  • tutti i file contenuti nella cartella di origine e aventi esten­sio­ne .jpg, .png e .bmp vengano spostati nella cartella di backup “Immagini”;
  • vengano copiati sempre solo i file ag­gior­na­ti;
  • la richiesta di conferma venga sempre eliminata.
N.B.

Lo script funziona solo per i file il cui nome contiene un’esten­sio­ne espli­ci­ta­ta. In caso contrario l’ela­bo­ra­zio­ne batch non riconosce i file rilevanti, anche se di fatto avrebbero un formato per­ti­nen­te.

Vai al menu prin­ci­pa­le