14Sep

Come scrivere uno script batch su Windows

Sai come usare il prompt dei comandi? Se lo fai, puoi scrivere un file batch. Nella sua forma più semplice, un file batch( o script batch) è un elenco di diversi comandi che vengono eseguiti quando si fa doppio clic sul file. I file batch risalgono al DOS, ma funzionano ancora su versioni moderne di Windows. Gli script PowerShell e gli script Bash di

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 l'estensione del file. 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. Digitare le seguenti righe:

ECHO OFF ECHO Hello World PAUSE

Quindi, salvare il file facendo clic su File & gt;Salvare. Assegnagli un nome che ti piace, ma sostituisci l'estensione file. txt predefinita con l'estensione. bat.

Ad esempio, potresti chiamarlo hello_world.bat.

Ora hai un file batch con estensione. bat. Fare doppio clic per eseguirlo. Questo particolare file batch imposta ECHO disattivato( che cancella l'output nascondendo i comandi da stampare al prompt, stampa il testo "Hello World" sullo schermo, quindi attende che tu prema un tasto prima che finisca.

Ifnon hai aggiunto PAUSE al file, il file batch eseguiva semplicemente i suoi comandi e quindi si chiudeva automaticamente, in questo caso stampava "Hello World" sulla finestra e poi chiudeva immediatamente la finestra del prompt dei comandi.eseguire rapidamente i comandi senza visualizzare l'output, è possibile omettere questo Se si eseguono più comandi, è possibile inserire il comando PAUSE tra di essi

scrivere un file batch più complesso

È fondamentalmente semplice creare un file batch.cosa devi cambiare è cosa digiti nel Blocco Note. Per eseguire più comandi, digiti ognuno sulla propria riga e il file batch eseguirà ognuno in ordine.

Ad esempio, supponiamo di voler scrivere un file batch checorre sevcomandi di diagnostica della rete eral. Potremmo voler eseguire 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 inserire tutti questi 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, faremmobasta vedere l'output di ciascun comando subito dopo l'altro. Ma questo non è necessariamente il modo ideale per scrivere un file batch.

Ad esempio, è possibile aggiungere righe di commento. Qualsiasi riga che inizia con a: : è 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.

Ecco come potrebbe essere:

: : Questo file batch verifica i problemi di connessione alla rete. ECHO OFF: : Visualizza i dettagli della connessione di rete ipconfig / all: : Controlla se Google.com è raggiungibile ping google.com: : Esegui un traceroute per controllare il percorso verso Google.com tracert google.com PAUSE

Ci sono altre direzioni che potresti percorrerecon un file batch come questo. Ad esempio, è possibile che lo script batch esegua i comandi sopra riportati e quindi esegua il dump dell'output in un file di testo che è possibile visualizzare in seguito. Per fare ciò, devi utilizzare & gt; & gt;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 comando PAUSE.

: : Questo file batch verifica i problemi di connessione di rete: : e salva l'output in un file. txt. ECHO OFF: visualizza i dettagli della connessione di rete ipconfig / all & gt; & gt;results.txt: : Verifica se Google.com è raggiungibile ping google.com & gt; & gt;results.txt: : Esegui un traceroute per controllare il percorso verso Google.com tracert google.com & gt; & gt;results.txt

Dopo aver eseguito lo script precedente, è possibile trovare 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.

L'esempio che stiamo usando sopra si basa sulla stampa effettiva delle informazioni sul prompt dei comandi in modo che l'utente possa leggerle. Tuttavia, molti file batch sono progettati per essere eseguiti in modo non interattivo. Ad esempio, potresti avere un file batch che elimina più file o directory ogni volta che fai doppio clic su di esso. Dovresti solo usare il comando del per cancellare i file o il comando deltree 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.