File batch: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Grazianoleni (discussione | contributi)
m Cosa ci faceva la talpa??????
Esempi: più sensato
Etichette: Modifica da mobile Modifica da web per mobile
 
(120 versioni intermedie di 81 utenti non mostrate)
Riga 1:
{{F|formati di file|dicembre 2012}}
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>.
{{Formato file
| nome = File batch
| icona =
| logo =
| immagine =
| didascalia =
| estensione = .bat, .cmd
| mime =
| sviluppatore = [[Microsoft Corporation]]
| proprietario =
| licenza =
| data_pubblicazione =
| ultima_versione =
| data_ultima_versione =
| genere = [[Linguaggio di scripting]]
| estensione_di =
| esteso_a =
| standard =
| aperto =
| sito =
}}
 
In [[informatica]], e in particolare nella terminologia di [[MS-DOS|DOS]] e [[Microsoft Windows|Windows]], un '''file batch''' è un [[file di testo]] che contiene una sequenza di [[Riga di comando|comandi]] per l'[[Shell (informatica)|interprete di comandi]] del sistema, solitamente [[command.com]] o [[cmd.exe]].
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'''.
 
== Introduzione ==
Il file batch forse più famoso è '''Autoexec.bat''' perché veniva eseguito automaticamente all'avvio di tutti i sistemi operativi basati su [[MS-DOS]].
Il file batch viene eseguito dall'interprete dei comandi mandando in [[esecuzione (informatica)|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 [[Script|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: <code>if</code>, <code>for</code> e <code>goto</code>.
 
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/Vista/7 e successivi) accettano anche l'estensione .cmd.
 
Un particolare e noto file batch è [[AUTOEXEC.BAT]] perché viene eseguito automaticamente all'[[boot|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 [[directory|cartella]] di lavoro o <code>dir</code> 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 <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:
* <code>dir</code>
*SHUTDOWN
* <code>call</code>
*DIR
* <code>chcp</code>
*CALL
* <code>ren</code> o <code>rename</code>
*CHCP
* <code>del</code> o <code>erase</code>
*REN o RENAME
* <code>type</code>
*DEL o ERASE
* <code>rem</code>
*TYPE
* <code>copy</code>
*REM
* <code>pause</code>
*COPY
* <code>date</code>
*PAUSE
* <code>time</code>
*DATE
* <code>ver</code>
*TIME
* <code>vol</code>
*VER
* <code>cd</code> o <code>chdir</code>
*VOL
* <code>md</code> o <code>mkdir</code>
*CD o CHDIR
* <code>rd</code> o <code>rmdir</code>
*MD o MKDIR
* <code>break</code>
*RD o RMDIR
* <code>verify</code>
*BREAK
* <code>set</code>
*VERIFY
* <code>prompt</code>
*SET
* <code>path</code>
*PROMPT
* <code>exit</code>
*PATH
* <code>echo</code>
*EXIT
* <code>goto</code>
*CTTY
* <code>shift</code>
*ECHO
* <code>if</code>
*GOTO
* <code>for</code>
*SHIFT
* <code>cls</code>
*IF
* <code>lh</code> o <code>loadhigh</code>
*FOR
*CLS
*LH o LOADHIGH
*FORMAT
*@
*START
*DELTRRE
*/P
*/F
*/S
*/Q
*/A
*ATTRIB
*PRINT
 
Alcuni comandi interni introdotti con [[Windows 95]]:
Oltre a questi sono presenti altre decine di comandi.
* <code>start</code>
=== Alcuni comandi interni introdotti con Windows 95 ===
* <code>lfnfor</code>
* <code>truename</code>
* <code>lock</code>
* <code>unlock</code>
 
=== Comandi esterni ===
*LFNFOR
*TRUENAME
*LOCK
*UNLOCK
 
I comandi esterni sono file di estensione [[Eseguibile EXE|.exe]], [[Eseguibile COM|.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).
== 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:
* <code>robocopy.exe</code>
*DISKCOPY.COM
* <code>diskcopy.com</code>
*EDIT.COM
* <code>edit.com</code>
*MODE.COM
* <code>mode.com</code>
*MORE.COM
* <code>more.com</code>
*SYS.COM
* <code>sys.com</code>
*ATTRIB.EXE
* <code>attrib.exe</code>
*CHKDSK.EXE
* <code>chkdsk.exe</code>
*DEBUG.EXE
* <code>debug.exe</code>
*DELTREE.EXE
* <code>deltree.exe</code>
*FC.EXE
* <code>fc.exe</code>
*FIND.EXE
* <code>find.exe</code>
*LABEL.EXE
* <code>label.exe</code>
*MEM.EXE
* <code>mem.exe</code>
*MOVE.EXE
* <code>move.exe</code>
*NLSFUNC.EXE
* <code>net.exe</code>
*SORT.EXE
* <code>nlsfunc.exe</code>
*SUBST.EXE
* <code>shutdown.exe</code>
*XCOPY.EXE
* <code>sort.exe</code>
*XCOPY32.EXE
* <code>subst.exe</code>
* <code>xcopy.exe</code>
* <code>xcopy32.exe</code>
 
Per avere informazioni su questi comandi, digitare da [[cmd.exe]] il comando stesso seguito da ''/?'', per esempio: <code>xcopy /?</code>
 
== Esempi ==
* [[Hello World!world]]: - Stampastampa a monitorvideo ladella scritta "Hello Worldworld!":
<sourcesyntaxhighlight lang="dos">
@echo Hello Worldworld!
pause
</source>
</syntaxhighlight>
* Effetto Matrix
<syntaxhighlight lang="dos">
@echo off
color 02
:SCROLLR
echo %random% %random% %random% %random%
goto SCROLLR
</syntaxhighlight>
 
* spegnimento computer dopo 30 secondi
Creazione di un menù
<syntaxhighlight lang="dos">
 
shutdown -s
<source lang="dos">
</syntaxhighlight>
* Creazione di un menù
<syntaxhighlight lang="dos">
@echo off
title Opinione su Wikipedia
cls
color 9E
 
:RICHIESTE
:RICHIESTA
echo.
echo CosaChe 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"1" GOTO DUEUNO
IF NOT "%Scelta%"==1"2" GOTO ENDDUE
IF NOT "%Scelta%"==2"3" GOTO ENDTRE
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 Anche io!.
echo Anche per me!
pause
goto ENDTRE
 
: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 Prova a dare un'occhiata ai progetti analoghi a questo indirizzo:
echo Ciao ciao
echo http://it.wikipedia.org/wiki/Wikimedia_Foundation#Progetti
echo.
echo Premi un tasto per aprire Wikipedia...
pause
pause > nul
</source>
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
</syntaxhighlight>
 
== Voci correlate ==
* [[Lista di comandiComandi di MS-DOS]]
* [[Batch processing]]
 
== Collegamenti esterni ==
* {{FOLDOC|batch file|batch file}}
* {{cita web|lingua=en|url=https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-xp/bb490869(v%3dtechnet.10)|titolo=Using batch files|editore=[[Microsoft]]|data=11 settembre 2009}}
 
{{portale|informatica|microsoft}}
 
[[Categoria:Formati di file eseguibili]]
[[Categoria:Linguaggi di scripting]]
[[Categoria:Terminologia informatica]]
 
[[ca:Batch]]
[[cs:Dávkový soubor]]
[[de:Windows Batch]]
[[en:Batch file]]
[[es:Batch]]
[[fi:.BAT]]
[[fr:.bat]]
[[he:קובץ אצווה]]
[[ja:バッチファイル]]
[[ko:배치 파일]]
[[ms:Fail kelompok]]
[[nl:Batchbestand]]
[[pl:Program wsadowy]]
[[ru:Пакетный файл]]
[[sv:Batchfil]]
[[zh:批处理]]