File batch

Da Wikipedia, l'enciclopedia libera.
File batch
Estensione .bat, .cmd, .btm
Sviluppato da Microsoft Corporation
Tipo Linguaggio di scripting

In informatica, e in particolare nella terminologia di DOS e Windows, un file batch è un file di testo che contiene una sequenza di comandi per l'interprete di comandi del sistema, solitamente Command.com o Cmd.exe.

Introduzione[modifica | modifica wikitesto]

Il file batch viene eseguito dall'interprete dei comandi mandando in esecuzione i comandi elencati nel file uno dopo l'altro, nello stesso ordine in cui compaiono nel file. Il concetto di file batch è analogo a quello di shell script per i sistemi Unix e infatti può essere considerato un rudimentale linguaggio di scripting, anche se i costrutti di controllo di flusso a disposizione sono veramente pochi: if, for e goto.

I comandi batch di MS-DOS devono avere estensione .bat per essere riconosciuti come tali dal sistema operativo, mentre i sistemi NT (Windows NT/2000/XP/Vista/7 e successivi) accettano anche l'estensione .cmd.

Un particolare e noto file batch è AUTOEXEC.BAT perché viene eseguito automaticamente all'avvio di tutti i sistemi operativi basati su MS-DOS.

I comandi utilizzabili sono tutti quelli disponibili per il prompt di sistema e si dividono in due categorie:

  • comandi interni, come cd per cambiare la cartella di lavoro o dir per elencarne il contenuto. Alcuni di essi sono specifici proprio per i file batch, avendo ben poco o nessun senso se utilizzati direttamente dal prompt dei comandi per un singolo comando.
  • comandi esterni, come format o chkdsk.

Comandi interni[modifica | modifica wikitesto]

I comandi interni sono sempre disponibili senza accedere al disco perché integrati all'interno dell'interprete dei comandi.

Ecco alcuni comandi interni:

  • dir
  • call
  • chcp
  • ren o rename
  • del o erase
  • type
  • rem
  • copy
  • pause
  • date
  • time
  • ver
  • vol
  • cd o chdir
  • md o mkdir
  • rd o rmdir
  • break
  • verify
  • set
  • prompt
  • path
  • exit
  • echo
  • goto
  • shift
  • if
  • for
  • cls
  • lh o loadhigh

Alcuni comandi interni introdotti con Windows 95:

  • start
  • lfnfor
  • truename
  • lock
  • unlock

Comandi esterni[modifica | modifica wikitesto]

I comandi esterni sono file di estensione .exe, .com o gli stessi file con estensione .bat o .cmd, che possono essere usati come comandi e chiamati (senza bisogno di scrivere l'estensione: scrivere diskcopy o diskcopy.com dà lo stesso risultato; esiste comunque una precedenza nel caso di file con nomi uguali ma estensioni diverse).

Ecco alcuni comandi esterni:

  • diskcopy.com
  • edit.com
  • mode.com
  • more.com
  • sys.com
  • attrib.exe
  • chkdsk.exe
  • debug.exe
  • deltree.exe
  • fc.exe
  • find.exe
  • label.exe
  • mem.exe
  • move.exe
  • net.exe
  • nlsfunc.exe
  • shutdown.exe
  • sort.exe
  • subst.exe
  • xcopy.exe
  • xcopy32.exe

Per avere informazioni su questi comandi, digitare da Cmd.exe il comando stesso seguito da /?, per esempio: xcopy /?

Esempi[modifica | modifica wikitesto]

  • Effetto Matrix
@echo off
color 0a
:SCROLLR
echo 0 9 5 8 3 8 0 6 8 4 9 6 3 2 7 2 0 5 7 8 4 8 0 8 5 3 2 5 7 5 3 7 4 3 2 7 5 8 7 5
echo 8 4 0 8 5 3 5 7 5 3 7 4 3 2 7 5 8 7 5 0 9 5 8 3 8 0 6 8 4 7 9 6 3 2 7 2 7 0 5 7
goto SCROLLR
  • Hello world: stampa a video della scritta "Hello world!"
@echo Hello world!
pause
  • spegnimento computer dopo un minuto
echo off
color cf
title spegni computer tra un minuto
cls
 
 :SPEGNI
echo premi un tasto per far spegnere il pc
pause
shutdown /s /t 60
exit /b
  • Creazione di un menù
@echo off
title Opinione su Wikipedia
cls
color 9E
 
:RICHIESTA
echo.
echo Che cosa pensi di Wikipedia?
echo 1. Grandiosa.
echo 2. Così così.
echo 3. Esci
echo.
set /p "Scelta=Scegli un'opzione e premi il tasto Invio: "
cls
IF "%Scelta%"=="1" GOTO UNO
IF "%Scelta%"=="2" GOTO DUE
IF "%Scelta%"=="3" GOTO TRE
color CF
echo.
echo Scelta non valida: premi un tasto compreso tra 1 e 3.
echo.
echo Premi un tasto per continuare...
pause > nul
cls
color 9E
goto RICHIESTA
 
:UNO
echo.
echo Anche io!
goto TRE
 
:DUE
echo.
echo Prova a dare un'occhiata ai progetti analoghi a questo indirizzo:
echo http://it.wikipedia.org/wiki/Wikimedia_Foundation#Progetti
echo.
echo Premi un tasto per aprire Wikipedia...
pause > nul
cls
echo.
echo Apertura di Wikipedia in corso...
start http://it.wikipedia.org/wiki/Wikimedia_Foundation#Progetti
cls
 
:TRE
echo.
echo Ciao.
echo.
echo Premi un tasto per uscire...
pause > nul
exit /b

Voci correlate[modifica | modifica wikitesto]