I file batch sono file di testo con estensione .BAT o .CMD che contengono un insieme di comandi eseguiti nel terminale del sistema operativo. Questi file sono utili per automatizzare operazioni ripetitive su Windows.
I file batch possono essere considerati l'alternativa Windows agli script shell Unix eseguiti su un server Linux.
In questa guida vedremo in dettaglio come creare, configurare ed eseguire file .bat su Windows e quali comandi utilizzare.
Un server cloud economico da Hostman o un computer personale con sistema operativo Windows installato.
Blocco note o altro editor di testo. Si consiglia l'uso di editor con evidenziazione della sintassi, come Notepad++.
Per creare un file .bat su Windows, apri un editor di testo e inserisci del contenuto.
Ad esempio, creiamo un file batch che visualizzi il messaggio "Hello, user!" nella finestra del prompt dei comandi:
@echo off
echo Hello, user!
pause
Ora devi salvare il file con estensione .bat. Vai su File → Salva con nome...
Se utilizzi Notepad++, seleziona "File batch" nel campo Tipo file e inserisci il nome del file.
Se usi Blocco note, seleziona "Tutti i file" come tipo di file e inserisci nome ed estensione.
Se hai salvato il file con estensione errata, puoi correggerla rinominandolo. Per farlo, attiva la visualizzazione delle estensioni nel pannello Visualizza di Esplora file.
Ecco alcune regole base da conoscere per utilizzare la sintassi batch su Windows:
Ogni comando deve essere scritto su una nuova riga.
I comandi vengono eseguiti nell'ordine in cui sono scritti, tranne nei casi in cui si imposti un passaggio tra sezioni (es. goto
).
Indica i percorsi tra virgolette per evitare errori.
Aggiungi |Y|
prima dei comandi che richiedono conferma (come del
o format
).
Esistono comandi interni (integrati in cmd.exe) ed esterni (file eseguibili .EXE, .CMD o .BAT).
Usa @echo off
all'inizio del file per nascondere i comandi durante l'esecuzione.
Per eseguire un file .bat in Windows, fai doppio clic su di esso.
Alcuni file possono richiedere privilegi di amministratore. In questo caso, clic destro sul file → Esegui come amministratore.
Tuttavia, se l'esecuzione del file comporta un output di sistema, è consigliabile eseguirlo tramite il prompt dei comandi. Per avviare il prompt dei comandi, premi WIN+R, digita cmd
nel campo di inserimento e premi Invio. Si aprirà una finestra della riga di comando, nella quale dovrai trascinare il file batch e premere Invio.
Il file inizierà l'esecuzione dei comandi.
Prova ad avviare il file di test creato in precedenza: se tutto funziona, vedrai il messaggio "Hello, user!".
Una funzione utile è l'esecuzione programmata dei file batch. Per farlo, usa l'Utilità di pianificazione di Windows.
Premi WIN+R, digita taskschd.msc
, premi Invio.
Dal menu Azioni a destra, seleziona Crea attività di base…
Dopo questa operazione, si aprirà la finestra della procedura guidata Crea attività di base, dove dovrai compilare quattro schede:
Crea un'attività di base: inserisci il nome e la descrizione dell'attività, quindi clicca su Avanti.
Trigger: specifica la frequenza con cui eseguire il file batch e l'orario di esecuzione.
Azione: seleziona "Avvia un programma", clicca su Avanti e indica il percorso del file batch.
Fine: verifica tutti i dati inseriti e clicca su Fine.
Il file batch verrà eseguito automaticamente in base alla pianificazione impostata.
Quando necessario, puoi anche aggiungere commenti ai file .BAT in Windows. Ci sono tre modi per lasciare commenti durante la scrittura di un file batch:
rem. Inserisci il commento subito dopo:
rem tuo_commento_qui
Doppio due punti. Funziona in modo simile al comando rem:
:: tuo_commento_qui
goto. Questo viene utilizzato non solo per commentare, ma anche per passare a un'altra parte del file batch. Dopo aver inserito il comando, indica un'etichetta (nell'esempio sotto è "start"):
goto start
tuo_commento_qui
:start
Ogni commento deve avere un tag univoco.
Comando |
Argomento |
Descrizione |
cd |
Cartella |
Passa alla cartella indicata. |
pause |
- |
Mette in pausa l'esecuzione. |
start |
Percorso file/programma |
Avvia il programma o file specificato. |
md |
Cartella |
Crea una cartella. |
copy |
Origine e destinazione |
Copia file nella destinazione. |
del |
Nome file |
Elimina uno o più file. |
call |
Percorso file |
Esegue un altro file batch. |
title |
Titolo |
Cambia il titolo della finestra. |
move |
Origine e destinazione |
Sposta file da una cartella a un'altra. |
color |
Codice colore |
Cambia colore di sfondo e testo. |
exit |
- |
Chiude il file batch. |
Questa non è la lista completa. Per vedere tutti i comandi, digita help
nel prompt.
Puoi anche utilizzare variabili durante la scrittura di un file batch.
Per aggiungere una variabile, utilizza il comando set. Per prima cosa, digita set, poi il nome della variabile e infine il suo valore. Se devi accedere a una variabile e leggerne il valore, aggiungi il simbolo %
su entrambi i lati del nome della variabile.
Esempio:
@echo off
set esempio=Hello, user!
echo %esempio%
pause
Si prega di notare che non devono esserci spazi prima o dopo il segno di uguale, altrimenti il programma non funzionerà.
Quando esegui il file batch con questo contenuto, il sistema visualizzerà "Hello, user!".
Inoltre, quando dichiari una variabile, puoi usare il flag /a
, che permette di assegnare un numero alla variabile. Ad esempio:
@echo off
set /a esempio=2*3
echo %esempio%
pause
In questo caso verrà mostrato il numero 6.
Oltre alle variabili normali, esistono anche le variabili argomento. A queste vengono assegnati i valori passati al momento dell'esecuzione del file batch. Hanno il formato: %1
, %2
, %3
ecc.
Esempio:
@echo off
@echo Primo argomento - : %1
@echo Secondo argomento - : %2
@echo Terzo argomento - : %3
pause
Eseguendo il file con "Hello, user!" vedrai i valori degli argomenti passati.
Durante il lavoro, capita spesso di accumulare file inutili che vanno eliminati. Un file batch ben scritto può fare questo in modo efficace.
Supponiamo di avere molti file .TXT in una directory e nelle sue sottocartelle che non servono più. Creiamo un semplice file batch per questo caso:
@echo off
del /f /s /q C:\percorso\Esempio\*.txt
Spiegazione flag:
/f
forza l'eliminazione anche di file di sola lettura./s
agisce su sottocartelle./q
disattiva richiesta di conferma.Per testarlo:
mkdir Esempio
cd Esempio
mkdir SottoCartella
notepad Esempio1.txt
notepad Esempio2.txt
notepad Esempio3.txt
cd SottoCartella
copy C:\percorso\Esempio\*.txt
Ora trascina il file batch nella finestra del prompt dei comandi e osserva il risultato: l'output deve mostrare che tutti e sei i file sono stati eliminati con successo dalla directory Esempio e dalla sottodirectory SottoCartella.
In questa guida abbiamo spiegato come creare ed eseguire file .BAT in Windows e illustrato i comandi fondamentali. Seguendo questi passaggi puoi iniziare ad automatizzare il tuo lavoro.
Se vuoi approfondire, leggi anche la nostra guida su come creare un server cloud.