File batch

linguaggio di programmazione

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). 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 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 o dir per elencarne il contenuto)
  • comandi esterni (come format o chkdsk)

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
  • FORMAT
  • @
  • START
  • DELTREE
  • /P
  • /F
  • /S
  • /Q
  • /A
  • ATTRIB
  • PRINT

Oltre a questi sono presenti altre decine di comandi.

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
  • 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

Voci correlate