Scopri le migliori offerte sul canale Telegram ufficiale. Guarda su Telegram

Come creare un file BAT

di

Hai sentito parlare dei file BAT e ne sei rimasto alquanto affascinato. Essi, infatti, permettono di eseguire dei comandi su Windows e di automatizzare alcune procedure, come ad esempio lo spostamento di file o la creazione di cartelle. Ti piacerebbe tanto approfondire la conoscenza ma, giacché  non sei particolarmente ferrato in ambito tecnologico, vorresti una mano da parte mia. Le cose stanno in questo modo, dico bene? Allora lasciati dire che sei capitato nel posto giusto al momento giusto.

In questa mia guida, infatti, ti illustrerò come creare un file BAT utilizzando gli strumenti predefiniti di Windows. Nel dettaglio, sarà mia cura spiegarti come è strutturato un file con suddetta estensione, quali sono gli strumenti utili a realizzarlo e, non da meno, ti darò qualche esempio pratico, che potrebbe tornarti utile.

Dunque, senza perdere altro tempo, siediti bello comodo e presta attenzione alle procedure e ai suggerimenti che ho scritto per te in questo tutorial. A me non resta altro da fare, se non augurarti una buona lettura e farti un grosso in bocca al lupo per tutto!

Indice

Informazioni preliminari

Come creare un file BAT

Per meglio comprendere la natura dell’operazione che ti appresti a compiere, ritengo doveroso darti qualche informazione in più circa la natura dei file con estensione .bat. Altresì noti come file batch, gli elementi di questo tipo contengono una serie di comandi, i quali vengono eseguiti in maniera sequenziale da parte del sistema operativo, nell’esatto ordine in cui sono elencati.

Le istruzioni di base presenti nei file batch sono null’altro che dei comandi che, in passato, dominavano il funzionamento dei sistemi operativi Microsoft basati sulla linea di comando, questi ultimi denominati MS-DOS. Va da sé, di conseguenza, che i file .bat possono essere utilizzati soltanto sugli OS prodotti dal big di Redmond.

Con l’avvento di Windows, l’uso dei comandi DOS è stato reso praticamente invisibile all’utente, tuttavia le istruzioni in oggetto sono rimaste accessibili – e perfettamente utilizzabili – attraverso uno strumento conosciuto da quasi tutti gli utenti dei sistemi operativi Microsoft: il Prompt dei comandi.

In altre parole, un file batch altro non è che un elenco di istruzioni, che vengono eseguite sequenzialmente da Windows attraverso il Prompt dei comandi, con l’obiettivo di velocizzare passaggi ripetitivi, di facilitare la messa in pratica di determinate operazioni o, ancora, di creare dei flussi operativi automatici, indipendenti dall’interazione dell’utente.

Giacché quello dei file BAT è un linguaggio di scripting, i file contenenti istruzioni di questo tipo non richiedono alcuna compilazione: essi possono essere infatti avviati con un semplice doppio clic, per poi essere interpretati ed eseguiti proprio dal Prompt dei comandi (conosciuto da alcuni come cmd).

Materiale occorrente per creare un file batch

Come creare un file BAT

Alla luce di quanto detto finora, la domanda sorge spontanea: come creare un file batch in CMD? Cosa serve per realizzare un file batch? Ebbene, la risposta è molto più semplice di quanto tu possa aspettarti.

Sostanzialmente, un file batch può essere creato attraverso qualsiasi editor di testo in grado di salvare file con estensioni personalizzate: nel caso di Windows, il classico Blocco Note è più che sufficiente.

Se poi ritieni di aver bisogno di una spinta in più durante la scrittura del tuo file, come per esempio la possibilità di colorare in modo diverso le istruzioni e i parametri, oppure di usare il completamento automatico delle istruzioni, puoi rivolgerti a un qualsiasi editor di testo pensato per lo sviluppo di codice o script, come Notepad++.

Per il resto, non ti occorre altro, se non la conoscenza delle istruzioni DOS e la modalità con le quali vanno usate. Di base, alcuni tra i comandi più comunemente usati vi sono quelli per spostare cartelle e file, per avviare file eseguibili con parametri, per spegnere Windows, per formattare dischi e partizioni o per modificare il registro, tanto per farti qualche esempio.

A tal proposito, lascia che ti elenchi alcune delle istruzioni che si possono usare nei file batch, unitamente ai rispettivi obiettivi.

  • cd: si tratta di un comando che permette di aprire una accedere a una precisa cartella. Accetta come parametro il percorso della cartella stessa, racchiuso tra virgolette (") in presenza di spazi.
  • cls: consente di eliminare al volo qualsiasi output dalla finestra del Prompt.
  • copy e xcopy: permettono di copiare file da una destinazione all’altra.
  • move: sposta i file da una directory all’altra.
  • del, rm e rmdir (o rd): si usano, rispettivamente, per eliminare file (anche ricorsivamente) e cartelle.
  • dir e tree: il primo elenca i file contenuti in una cartella (anche in maniera ricorsiva, se necessario), mentre il secondo ne mostra la struttura ad albero.
  • echo: permette di visualizzare il testo passato come parametro sulla schermata del Prompt, ma anche di attivare/disattivare la visualizzazione completa dell’output.
  • exec: avvia un file eseguibile presente sul computer.
  • find: è un comando che permette di cercare una stringa in un file di testo.
  • for, if/if not e goto: si tratta di modificatori, in grado di alterare l’ordine di esecuzione dei comandi. In particolare, l’istruzione for implica la ripetizione di una sequenza, finché viene rispettata una specifica condizione; i comandi if e if not permettono di definire se l’istruzione successiva debba essere eseguita oppure no, in base all’occorrere di un evento; il comando goto, invece, permette di saltare direttamente a un dato punto del file (identificato da un’etichetta, ossia da una parola a cui viene anteposto il carattere :).
  • format: come il nome stesso lascia intendere, si tratta del comando per formattare un’unità o una partizione.
  • mkdir (o md): permette di creare una nuova cartella.
  • pause: si tratta di un comando che mette in pausa lo script, finché non riceve interazione dell’utente (ad es. l’immissione di un input o la pressione di un tasto).
  • reg: visualizza, aggiunge, rimuove o modifica le chiavi e i valori presenti nel registro di sistema.
  • rem e ::: queste istruzioni vanno anteposte a eventuali commenti presenti nello script, che non verranno interpretati.
  • ren (o rename): permette di rinominare un file o una cartella.
  • set: serve a definire una variabile.
  • sort: serve a riordinare i dati in output.
  • start: consente di aprire l’elemento ricevuto in input con il programma di sistema preposto a gestirlo (ad es. start https://www.aranzulla.it aprirà il browser, o una scheda dello stesso, sul mio sito Web).
  • systeminfo: visualizza le specifiche di sistema.
  • time: visualizza/imposta l’ora di sistema.
  • shutdown: permette di spegnere o riavviare il computer.

Come puoi facilmente immaginare, esistono altri comandi ed elementi utilizzabili all’interno di un file .BAT, tra cui figurano gli operatori logici, i caratteri speciali per la gestione dell’input, i caratteri speciali per indicare variabili ed elementi statici e molto, molto altro!

Ancora, i comandi batch sono completamente case insensitive, pertanto puoi digitarli tanto in maiuscolo, quanto in minuscolo; i parametri e gli input, invece, sono case sensitive, a meno che non venga specificato un modificatore in grado di alterarne il comportamento (ad es. lo switch /I nel comando if).

Qualora volessi qualche informazione in più, puoi sempre aprire il Prompt dei comandi, digitare il comando help e dare Invio; in alternativa, se hai bisogno di informazioni specifiche su una data istruzione, puoi digitare la stringa nome_istruzione /? (ad es. reg /?), per avere più informazioni al riguardo.

Come creare un file BAT

Come creare un file BAT

Fatte tutte le doverose precisazioni del caso, è arrivato il momento di passare all’opera e di spiegarti, nel dettaglio, come creare un file .BAT Windows 10 e in tutte le altre edizioni del sistema operativo Windows (3.1 inclusa!).

Detta alla veloce, devi aprire l’editor di testo che hai scelto per portare a termine l’impresa (ad es. il Blocco Note di Windows o il già menzionato Notepad++) e, semplicemente, comporre il tuo script digitando i vari comandi, nel medesimo ordine in cui vuoi che vengano eseguiti.

Per esempio, se volessi scrivere un file BAT che ti saluta quando lo esegui, potresti formulare uno script di questo tipo.

@echo off
:: disattiva la visualizzazione del prompt di input
echo Ciao da Aranzulla.it!
:: mostra il messaggio racchiuso tra le virgolette
pause
:: attende la pressione di un tasto da parte dell'utente per la chiusura

Dopo aver copiato il codice di cui sopra nel Blocco Note di Windows, apri il menu File > Salva con nome del programma (oppure premi la combinazione di tasti Ctrl+Maiusc+S sulla tastiera), scegli la cartella in cui archiviare l’elemento e imposta il menu a tendina Salva come sull’opzione Tutti i file.

Fatto ciò, digita il nome da assegnare allo script, seguito dall’estensione .bat (ad es. mioScript.bat) e clicca sul pulsante Salva, per salvarlo. Infine, chiudi il Blocco Note e fai doppio clic sul file creato in precedenza, così da eseguirlo.

Nota: gli script batch di Windows, oltre che con estensione .bat, possono essere salvati con estensione .cmd. Tuttavia, quest’ultimo formato non è riconosciuto sulle edizioni di Windows antecedenti a Windows NT, e potrebbe essere adoperato anche per identificare elementi di natura diversa, su altri sistemi operativi.

Come creare un file BAT per spegnere il PC

Come creare un file BAT

Volendo pensare a qualcosa di più complesso, lascia che ti spieghi come realizzare un file BAT che ti consenta di spegnere il computer, riavviarlo oppure di effettuare il logout dalla tua sessione utente, utilizzando il comando shutdown.

Il primo parametro successivo al comando, in particolare, indica il tipo di disattivazione da effettuare: /l per la disconnessione, /s per l’arresto completo, /h per l’ibernazione, /r per il riavvio, /o per la visualizzazione dei parametri di avvio avanzati e /a per annullare qualsiasi operazione programmata.

Esistono poi altri parametri che possono alterare le operazioni di cui sopra, tra cui: /t [tempo in secondi], per definire un timer, scaduto il quale viene eseguita l’operazione specificata: /c ["messaggio"], per visualizzare una finestra d’avviso contenente un messaggio specifico; /f, per forzare l’operazione scelta senza attendere la chiusura dei programmi aperti; /hybrid, per predisporre il successivo avvio rapido; /fw, per far sì che il PC entri nel sistema UEFI al boot successivo.

Alla luce di ciò, un file BAT che spegne automaticamente il computer dopo due minuti dall’esecuzione dello script potrebbe essere strutturato nel seguente modo.

@echo off
shutdown /s /f /t 120 /c "Il PC si spegnera' tra 2 minuti da ora. Ricorda di chiudere tutti i programmi attivi"

Per complicare un po’ le cose, puoi altresì realizzare uno script che chiede, direttamente a te, quanti minuti attendere prima di spegnere il computer (qui trovi il codice da poter copiare e incollare).

@echo off
setlocal
:: impedisce alle variabili di restare salvate al di fuori dello script
set /p MINUTI="Quanti minuti vuoi attendere? "
:: consente di ricevere input dall'utente
set /a SECONDI=%MINUTI%*60
shutdown /s /f /t %SECONDI% /c "Il PC si spegnera' tra %MINUTI% minuti da ora. Ricorda di chiudere tutti i programmi attivi"
endlocal

Infine, ti propongo uno script ancor più completo, che ti consente di annullare qualsiasi spegnimento automatico, laddove ne avessi bisogno (qui il codice pronto per il copia-e-incolla).

@echo off
setlocal
set /p MINUTI="Quanti minuti vuoi attendere? "
set /a SECONDI=%MINUTI%*60
shutdown /s /f /t %SECONDI% /c "Il PC si spegnera' tra %MINUTI% minuti da ora. Ricorda di chiudere tutti i programmi attivi"
echo Spegnimento programmato tra %MINUTI% minuti (%SECONDI% secondi)
set /p SCELTA="Vuoi annullare lo spegnimento programmato? [S/N] "
if /i "%SCELTA%" neq "S" goto CONFERMA
:: ciclo di controllo. Se la scelta risulta diversa da S (maiuscola o minuscola)
:: vai all'etichetta CONFERMA. 

shutdown /a
:: diversamente, annulla lo spegnimento richiamando shutdown /a
echo Spegnimento annullato
pause
goto FINE
:: salta direttamente all'etichetta FINE

:CONFERMA
echo Spegnimento confermato
pause
:FINE
endlocal

Dopo aver salvato lo script così come ti ho mostrato in precedenza, eseguilo e… goditi il risultato!

Salvatore Aranzulla

Autore

Salvatore Aranzulla

Salvatore Aranzulla è il blogger e divulgatore informatico più letto in Italia. Noto per aver scoperto delle vulnerabilità nei siti di Google e Microsoft. Collabora con riviste di informatica e ha curato la rubrica tecnologica del quotidiano Il Messaggero. È il fondatore di Aranzulla.it, uno dei trenta siti più visitati d'Italia, nel quale risponde con semplicità a migliaia di dubbi di tipo informatico. Ha pubblicato per Mondadori e Mondadori Informatica.