Un file batch è un file utilizzato da un sistema operativo Windows®, DOS o OS/2. È un file di testo che contiene una stringa di comandi da interpretare in ordine da un interprete di comandi. Ciò significa che un singolo file può eseguire una complessa disposizione di comandi, spesso eseguendo più programmi, per ottenere un unico fine coeso. Gli amministratori di sistema spesso li usano per automatizzare progetti lunghi e alcuni programmi che non sono stati completamente raccolti in un programma possono utilizzare un file batch per eseguire i componenti necessari e quindi avviare il programma finale.
L’estensione .bat è l’estensione più comunemente usata per un file batch e sarà riconosciuta praticamente da tutte le shell. Shell più moderne possono accettare anche l’estensione .cmd, e di solito la distinzione tra i due ha a che fare con quali sono i livelli di errore, ovvero quando verranno visualizzati gli errori. In 4DOS e altre shell simili, possono anche usare l’estensione .btm, sebbene questa non sia riconosciuta da altri sistemi operativi.
Sui vecchi computer Windows® e sui computer DOS, è presente un file principale noto come autoexec.bat che viene eseguito ogni volta che il computer si avvia. Ciò include molti file comuni che devono essere avviati e comandi che devono essere eseguiti per preparare il sistema al funzionamento. È possibile aggiungere elementi al file autoexec.bat per impostare comportamenti specifici all’avvio, come l’avvio di programmi, la pulizia di spazi file o l’eco dei promemoria.
Poiché un file batch è fondamentalmente solo un file di testo, è possibile crearne uno in qualsiasi tipo di semplice editor di testo e il suffisso può essere successivamente modificato in .bat o .cmd. La maggior parte delle persone trova più semplice modificarne uno dalla riga di comando, direttamente in DOS o in una finestra di shell avviata da Windows®. Il comando edit può essere usato per creare un nuovo file, digitando qualcosa come edit foo.bat. All’interno del file è possibile utilizzare una serie di comandi di base.
Un semplice file batch potrebbe includere qualcosa come segue: pause; echo Ora apriamo la cartella dei documenti.;dir c:documents. Per eseguire il file, un utente dovrebbe semplicemente digitare il nome del file, senza il suffisso .bat, e verrà eseguito. Questo particolare file comincerebbe con una pausa, che richiederebbe all’utente di premere un tasto. Una volta premuto un tasto, stampava la riga “Ora apriamo la cartella dei documenti”. Quindi elencherà il contenuto della directory Documenti trovata all’interno dell’unità C.
In realtà ci sono alcuni comandi che possono essere utilizzati all’interno di un file batch per personalizzarli ulteriormente. Ad esempio, la variabile %1 può essere utilizzata per stampare una variabile che l’utente immette dopo aver digitato il nome del file da eseguire. Quindi, per esempio, se qualcuno volesse rimuovere una directory e crearne una nuova con un comando, potrebbe creare un file chiamato rmmk.bat che includa le seguenti righe: rmdir %1; mkdir %2. Potrebbe quindi eseguirlo digitando qualcosa come “rmmk foo bar”, che rimuoverà la directory denominata foo e creerà una nuova directory denominata bar.