# Creare un file batch: come scrivere il proprio file BAT

Il **cmd.exe**, noto anche come [prompt dei comandi](https://www.ionos.it/digitalguide/server/tools-o-strumenti/aprire-il-prompt-dei-comandi/ "Aprire il prompt dei comandi"), è uno dei componenti software più vecchi di Windows. Da decenni lo strumento della riga di comando offre la possibilità di effettuare modifiche dirette ai **sistemi operativi Microsoft**. Strettamente collegati al **prompt dei comandi** sono i cosiddetti file batch (noti anche come file BAT) che fanno riferimento a cmd.exe con comandi predefiniti dall’azienda e sono in grado di elaborare i comandi in batch. In questo tutorial scoprirete cosa contraddistingue esattamente questi utili script e come creare un file batch, salvarlo ed eseguirlo autonomamente.

## Cos’è un file batch o BAT?

Un file batch (anche file BAT, script batch o file di lavorazione in batch) è un **file di testo** che può essere eseguito dallo strumento della riga di comando di Windows cmd.exe **come elaborazione in batch**. Il prompt dei comandi funge a questo riguardo sia da interprete, sia da ambiente di runtime. In parole semplici, si tratta di un programma informatico o di uno script i cui dati o compiti vengono elaborati in sequenza tramite il prompt dei comandi.

N.B. Il **termine “elaborazione in batch”** è stato coniato agli albori dell’elaborazione dei dati, in cui un’elaborazione interattiva era ancora impossibile. I set di dati da elaborare si presentavano all’epoca solitamente sotto forma di **schede perforate** – i supporti di salvataggio dell’epoca – che venivano elaborati come pila (in inglese *batch*), scheda dopo scheda. Nei moderni sistemi operativi informatici il termine è divenuto noto soprattutto in relazione alla pubblicazione di **MS-DOS** (1981) e ai file batch con cui lavora.

Utilizzando il cmd.exe come interprete e ambiente di runtime, i file batch permettono di utilizzare ed eseguire i normali [**comandi CMD**](https://www.ionos.it/digitalguide/server/know-how/comandi-cmd/). Inoltre, durante la scrittura di un file batch è possibile utilizzare, tra le altre cose, **commenti**, **ancore**, **variabili**, **condizioni** e **query**. Affinché i file di testo possano essere convertiti in file batch, nei sistemi Microsoft più recenti è necessario aggiungere l’estensione *.bat*. In Windows NT e OS/2 veniva comunemente utilizzata l’estensione *.cmd*.

Fatto Nel 2006, con la **PowerShell**, Microsoft ha pubblicato un framework che dal 2016 viene sviluppato per tutte le piattaforme sotto licenza MIT open source e che consente la programmazione e l’esecuzione di file di elaborazione in batch. La PowerShell mette a disposizione a questo scopo un **interprete dei comandi alternativo** e una [lingua di scripting](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/cosa-sono-i-linguaggi-di-scripting/ "Cosa sono i linguaggi di scripting?") propria denominata PowerShell Scripting Language.

## Creare un file batch: tutorial passo per passo

Creare dei propri file BAT è utile se si eseguono sequenze di comandi ricorrenti che si desidera automatizzare. A questo riguardo può trattarsi di **procedure di accesso** o dell’avvio di cosiddetti programmi TSR (***t**erminate and **s**tay **r**esident*), che devono funzionare costantemente come processi in background. Di seguito vi spieghiamo 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 elaborazione 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, è sufficiente utilizzare un normale editor di testo. Dato che funzionalità come la colorazione della sintassi non sono realmente necessarie, l’editor di Microsoft integrato di default in Windows (in breve, editor), conosciuto anche con il nome originale inglese **Notepad** (Blocco note), è assolutamente sufficiente. Per aprirlo vi basta digitare il termine “Notepad” o “Editor” nella **ricerca di Windows**, quindi fare clic sull’icona corrispondente nei risultati della ricerca:

[![Immagine: Ricerca di Windows 10: risultato per il termine “Editor”](https://www.ionos.it/digitalguide/fileadmin/_processed_/3/8/csm_search-result-for-notepad-in-windows-10_1651d18cb0.webp "Ricerca di Windows 10: risultato per il termine “Editor”")](https://www.ionos.it/digitalguide/fileadmin/DigitalGuide/Screenshots_2020/search-result-for-notepad-in-windows-10.jpg) Ricerca di Windows 10: risultato per il termine “Editor” ### Passo 2: acquisire dimestichezza con i comandi batch

Per creare file batch non c’è bisogno di apprendere un linguaggio di programmazione complesso. Tuttavia la **conoscenza dei più comuni comandi di sistema e della relativa funzionalità nei file batch** è un requisito imprescindibile; per questo vi consigliamo di acquisire dimestichezza con alcuni comandi prima di cimentarvi nella scrittura del vostro primo script. Tra i comandi più importanti che è assolutamente necessario conoscere figurano i seguenti:

- **ECHO**: permette di visualizzare a schermo le stringhe di testo dei comandi eseguiti
- **@ECHO OFF**: disabilita la visualizzazione a schermo delle stringhe di testo dei comandi eseguiti
- **START**: esegue un file con la rispettiva applicazione standard
- **REM**: registra una riga di commento
- **MKDIR/RMDIR**: crea e/o cancella una cartella
- **DEL:** cancella il(i) file selezionato(i)
- **COPY:** copia il(i) file selezionato(i)
- **TITLE**: elabora il titolo della finestra CMD

N.B. L’elenco completo dei principali comandi è contenuto nel nostro dettagliato [articolo sul tema “Comandi batch”](https://www.ionos.it/digitalguide/server/tools-o-strumenti/comandi-batch/).

### Passo 3: Creare e salvare il primo file batch

Un modo molto semplice per avvicinarsi all’arte della scrittura di file batch consiste nel creare uno script semplice che genera contemporaneamente **più cartelle su un supporto dati selezionato** del vostro sistema. Se, ad esempio, create un file BAT con il seguente input, una volta eseguito questo crea sull’unità C: due cartelle denominate “*Esempio1*” ed “*Esempio2*”:

```none
MKDIR C:\Esempio1
MKDIR C:\Esempio2
```

Copiate queste due righe in un documento vuoto del Blocco note, come raffigurato nello screenshot seguente:

[![Immagine: Documento dell’editor di Windows con uno script batch semplice](https://www.ionos.it/digitalguide/fileadmin/_processed_/0/4/csm_windows-notepad-document-with-simple-batch-script_89efcddb3b.webp "Documento dell’editor di Windows con uno script batch semplice")](https://www.ionos.it/digitalguide/fileadmin/DigitalGuide/Screenshots_2020/windows-notepad-document-with-simple-batch-script.jpg) Documento dell’editor di Windows con uno script batch semplice Per salvare queste istruzioni BAT e/o lo script, fate clic su “**File**”, quindi selezionate la voce di menu “**Salva con nome**”. Specificate il percorso di salvataggio desiderato e assegnate un **nome** allo script (senza dimenticare l’estensione *.bat*) nel campo “**Nome file**”:

[![Immagine: Blocco note: salvataggio del file batch da creare](https://www.ionos.it/digitalguide/fileadmin/_processed_/2/f/csm_saving-the-batch-file-in-notepad_54d4cbb075.webp "Blocco note: salvataggio del file batch da creare")](https://www.ionos.it/digitalguide/fileadmin/DigitalGuide/Screenshots_2020/saving-the-batch-file-in-notepad.jpg) Blocco note: salvataggio del file batch da creare ### Passo 4: eseguire lo script BAT creato

Dopo avere creato il file BAT e averlo salvato, avete due possibilità 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 semplicemente di **navigare fino alla cartella** in cui si trova il file batch e successivamente **lanciarlo facendo doppio clic**.

[![Immagine: Esempio di file batch in Esplora risorse di Windows](https://www.ionos.it/digitalguide/fileadmin/_processed_/c/0/csm_example-batch-file-in-windows-explorer_ce74519bec.webp "Esempio di file batch in Esplora risorse di Windows")](https://www.ionos.it/digitalguide/fileadmin/DigitalGuide/Screenshots_2020/example-batch-file-in-windows-explorer.jpg) Esempio di file batch in Esplora risorse di Windows  N.B. Se uno script batch contiene comandi che richiedono i **diritti di amministratore**, deve essere lanciato con il ruolo di amministratore. In questo caso selezionate il file di elaborazione batch facendo **clic destro**, quindi cliccate sul pulsante “Esegui come amministratore”.

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 normalmente. Se avete bisogno dei diritti di amministratore, fate clic su “Prompt dei comandi” con il tasto destro del mouse, quindi selezionate “**Esegui come amministratore**”.
3. Con il comando “change directory” (cd), accedete alla cartella in cui si trova il file batch.
4. Digitate il nome dello script batch (comprensivo dell’estensione) e premete Invio.

[![Immagine: Prompt dei comandi di Windows 10: esecuzione di un file batch](https://www.ionos.it/digitalguide/fileadmin/_processed_/a/1/csm_running-a-batch-file-in-command-prompt-in-windows-10_fc492dfc91.webp "Prompt dei comandi di Windows 10: esecuzione di un file batch")](https://www.ionos.it/digitalguide/fileadmin/DigitalGuide/Screenshots_2020/running-a-batch-file-in-command-prompt-in-windows-10.jpg) Prompt dei comandi di Windows 10: esecuzione di un file batch ### Passo 5: apportare modifiche successive ai file batch creati

Uno script BAT già creato può essere **modificato in qualunque momento**, ad esempio aggiungendo nuovi comandi o eliminando comandi esistenti, oppure modificando le cartelle in cui è salvato. A questo scopo aprite la cartella in cui si trova lo script batch e cliccatelo con il tasto destro. Selezionate quindi l’opzione “**Modifica**”:

[![Immagine: File batch in Esplora risorse di Windows](https://www.ionos.it/digitalguide/fileadmin/_processed_/7/a/csm_batch-file-in-windows-explorer_24356ad548.webp "File batch in Esplora risorse di Windows")](https://www.ionos.it/digitalguide/fileadmin/DigitalGuide/Screenshots_2020/batch-file-in-windows-explorer.jpg) File batch in Esplora risorse di Windows ## Esempi di script batch più complessi e di utilizzo frequente

La procedura passo per passo appena illustrata permette di creare file batch di ogni genere, indipendentemente dal tipo e dal numero di comandi di sistema utilizzati. L’utilità di uno script aumenta ovviamente di pari passo con la frequenza con cui viene utilizzato. Per concludere proponiamo pertanto **due esempi di file batch con valore a lungo termine** che illustrano le possibilità di elaborazione batch tramite riga di comando di Windows.

### Script batch con meccanismo di backup semplice

La grande praticità dei file batch è dimostrata dall’esempio seguente, con il quale è possibile far eseguire al sistema **backup periodici** di una determinata cartella:

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

[![Immagine: Editor di Windows: script batch con funzione di backup](https://www.ionos.it/digitalguide/fileadmin/_processed_/e/8/csm_windows-notepad-batch-script-with-backup-function_359fd88b5e.webp "Editor di Windows: script batch con funzione di backup")](https://www.ionos.it/digitalguide/fileadmin/DigitalGuide/Screenshots_2020/windows-notepad-batch-script-with-backup-function.jpg) Editor di Windows: script batch con funzione di backup Se create ed eseguite un file batch contenente la riga sopra indicata, tramite il comando “XCOPY” **copiate il contenuto** della “cartella di origine” nella “cartella di backup”. Ovviamente anche le directory in cui si trovano le due cartelle devono essere opportunamente specificate. I tre parametri finali hanno l’effetto seguente:

- **/m**: fa sì che vengano copiati solo i file aggiornati, evitando che i file già salvati non vengano nuovamente copiati durante i processi di backup successivi.
- **/e**: indica che, durante il backup, devono essere considerate anche tutte le sottocartelle presenti nella cartella specificata.
- **/y**: elimina la richiesta di conferma che un file di destinazione esistente (al quale sono state apportate modifiche dall’ultimo backup) debba essere sovrascritto.

### 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 destinazione. Tuttavia è anche possibile creare un file BAT che **ripartisce il contenuto di file originali tra diverse cartelle di destinazione**, laddove come criterio di selezione può essere applicato per esempio il tipo di file. A questo scopo è necessario utilizzare il **ciclo FOR**, che permette l’esecuzione multipla di un comando con un argomento variabile:

```none
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
```

[![Immagine: File batch con meccanismo di backup complesso](https://www.ionos.it/digitalguide/fileadmin/_processed_/f/6/csm_batch-file-with-complex-backup-mechanism_ff55b681bd.webp "File batch con meccanismo di backup complesso")](https://www.ionos.it/digitalguide/fileadmin/DigitalGuide/Screenshots_2020/batch-file-with-complex-backup-mechanism.jpg) File batch con meccanismo di backup complesso Il codice di comando batch eseguito fa sì che

- tutti i file contenuti nella cartella di origine e aventi estensione *.doc* e *.txt* vengano spostati nella cartella di backup “***Testi***”;
- tutti i file contenuti nella cartella di origine e aventi estensione *.jpg, .png* e *.bmp* vengano spostati nella cartella di backup “**Immagini**”;
- vengano copiati sempre solo i file aggiornati;
- la richiesta di conferma venga sempre eliminata.

N.B. Lo script funziona solo per i file il cui nome contiene un’**estensione esplicitata**. In caso contrario l’elaborazione batch non riconosce i file rilevanti, anche se di fatto avrebbero un formato pertinente.


This is a markdown version of: [https://www.ionos.it/digitalguide/server/tools-o-strumenti/creare-un-file-batch/](https://www.ionos.it/digitalguide/server/tools-o-strumenti/creare-un-file-batch/) for AI/LLM consumption.