Gli script di PowerShell e gli script di Bash possono essere più potenti, ma i file batch possono essere ancora molto utili se è necessario eseguire i comandi di base di Windows.
Nozioni di base sui file batch
Un file batch è semplicemente un file di testo salvato con estensione.bat. Puoi scriverne uno usando Blocco note o un editor di testo più avanzato come Notepad ++, ma non usare un word processor come Microsoft Word.
Creiamo un semplice file batch. Innanzitutto, apri il Blocco note. Digita le seguenti righe:
ECHO OFF ECHO Hello World PAUSE
Ad esempio, potresti voler nominarlo
hello_world.bat
Se non hai aggiunto
PAUSE
al file, il file batch eseguirà semplicemente i suoi comandi e quindi si chiuderà automaticamente. In questo caso, stampa "Hello World" sulla finestra e quindi chiude immediatamente la finestra del prompt dei comandi. Quando vuoi eseguire rapidamente i comandi senza vedere l'output, puoi ometterlo. Se stai eseguendo diversi comandi, puoi inserire il
PAUSE
comando tra di loro.
Scrivere un file batch più complesso
È fondamentalmente semplice creare un file batch. L'unica cosa che devi cambiare è ciò che digiti nel Blocco note. Per eseguire diversi comandi, si digita ognuno sulla propria riga e il file batch eseguirà ciascuno in ordine.
Ad esempio, supponiamo di voler scrivere un file batch che esegue diversi comandi di diagnostica di rete. Potremmo voler correre
ipconfig /all
per visualizzare le informazioni di rete,
ping google.com
per vedere se i server di Google rispondono e
tracert google.com
per eseguire un traceroute su google.com e vedere se ci sono problemi sulla strada.
Nella forma più semplice, potremmo semplicemente mettere tutti quei comandi in un file batch, uno dopo l'altro, in questo modo:
ipconfig /all ping google.com tracert google.com PAUSE
Quando eseguiamo questo file, vediamo l'output di ciascun comando subito dopo l'altro. Ma questo non è necessariamente il modo ideale per scrivere un file batch.
::
è una riga di commento e non verrà eseguita. Questo li rende un modo utile per spiegare cosa sta succedendo nel file per chiunque tu possa darlo - o per il tuo futuro sé stesso, che potrebbe dimenticare perché hai messo un certo comando lì dentro.
Si potrebbe anche voler aggiungere il comando "ECHO OFF" all'inizio del file. Questo viene in genere aggiunto all'inizio della maggior parte dei file batch. Quando si esegue questa operazione, i comandi stessi non verranno stampati sul prompt dei comandi, ma i risultati saranno. Ad esempio, vedrai i dettagli della connessione di rete ma non la linea "ipconfig / all". Alla maggior parte delle persone non interessa vedere i comandi, quindi questo può ripulire l'output.
Quindi ecco come potrebbe essere:
:: This batch file checks for network connection problems. ECHO OFF:: View network connection details ipconfig /all:: Check if Google.com is reachable ping google.com:: Run a traceroute to check the route to Google.com tracert google.com PAUSE
>>
operatore dopo ogni comando per aggiungere il suo output al file di testo. Come leggeremo comunque l'output dal file di testo, possiamo omettere il
PAUSE
comando.
:: This batch file checks for network connection problems:: and saves the output to a.txt file. ECHO OFF:: View network connection details ipconfig /all >> results.txt:: Check if Google.com is reachable ping google.com >> results.txt:: Run a traceroute to check the route to Google.com tracert google.com >> results.txt
Dopo aver eseguito lo script sopra, troverai un file denominato results.txt nella stessa cartella del file batch con l'output dei comandi. La finestra del prompt dei comandi si chiuderà automaticamente una volta eseguito il file batch.
del
comando per cancellare file o il
deltree
comando per cancellare le directory. Ricorda, stai solo utilizzando gli stessi comandi che avresti eseguito in una finestra del prompt dei comandi.
Fondamentalmente, questo è il punto della maggior parte dei file batch, solo eseguendo alcuni comandi uno dopo l'altro. Tuttavia, i file batch possono essere effettivamente molto più complessi di questo. Ad esempio, è possibile utilizzare le istruzioni "IF" insieme al comando "GOTO" per verificare il valore di qualcosa e quindi saltare a linee diverse a seconda del risultato. Questo è più come scrivere un piccolo programma reale che uno script veloce e sporco. Questa è una delle ragioni per cui i file.bat sono talvolta chiamati "programmi batch". Se vuoi fare qualcosa di più complesso, troverai molte guide per fare cose specifiche con la programmazione batch online. Ma ora conosci le basi su come lanciare uno semplice insieme.