File batch
Template:Infobox formato In informatica, e in particolare nella terminologia di MS-DOS e Windows, un file batch o comando 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
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 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 e successivi) accettano anche l'estensione .cmd.
Il file batch forse più famoso è Autoexec.bat perché veniva 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 odir
per elencarne il contenuto) - comandi esterni (come
format
ochkdsk
)
Comandi interni
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
- CTTY
- ECHO
- GOTO
- SHIFT
- IF
- FOR
- CLS
- LH o LOADHIGH
Alcuni comandi interni introdotti con Windows 95:
- START
- LFNFOR
- TRUENAME
- LOCK
- UNLOCK
Comandi esterni
I comandi esterni sono file di estensione exe, com o gli stessi bat, 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 che file con diverse estensioni abbiano lo stesso nome.
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
- NLSFUNC.EXE
- SORT.EXE
- SUBST.EXE
- XCOPY.EXE
- XCOPY32.EXE
Esempi
Hello World! - Stampa a monitor la scritta "Hello World!":
@echo Hello World!
Creazione di un menù
@echo off
cls
:RICHIESTE
echo.
echo Cosa pensi di Wikipedia?
echo (1) Grandiosa!
echo (2) Così così...
echo.
set /p Scelta=
IF %Scelta%==1 GOTO UNO
IF %Scelta%==2 GOTO DUE
IF NOT %Scelta%==1 GOTO END
IF NOT %Scelta%==2 GOTO END
:UNO
echo Anche io!
pause
goto END
:DUE
echo Prova a dare un'occhiata ai progetti analoghi su
echo http://it.wikipedia.org/wiki/Pagina_principale#Oltre_Wikipedia
pause
goto END
:END
echo.
echo Ciao ciao
echo.
pause