Lista di comandi di MS-DOS




1 2 3 4 5 6 7 8 9 1011 12

comandi ms-dos

Descrizione dei comandi:

If, Label, Md, mkdir, mode, more, move, path, pause, popd, print, prompt, pushd, Rd, recover, Rem, Ren, Rename, Replace, Rmdir, Set




IF Esegue un'elaborazione condizionale in un programma batch.
IF [NOT] ERRORLEVEL numero comando
IF [NOT] stringa1==stringa2 comando
IF [NOT] EXIST nomefile comando

NOT Specifica che Windows XP dovrebbe eseguire il comando solo se la condizione è falsa. ERRORLEVEL

numero Specifica una condizione vera se l'ultimo programma eseguito ha restituito un codice di uscita uguale o maggiore del numero specificato.

stringa1==stringa2 Specifica una condizione vera se le stringhe di testo specificate corrispondono.

EXIST nomefile Specifica una condizione vera se il nomefile specificato esiste.

comando Specifica il comando da eseguire se la condizione è soddisfatta. Il comando può essere seguito dal comando ELSE che eseguirà il comando dopo la parola chiave ELSE se la condizione specificata è FALSE La clausola ELSE deve essere indicata nella stessa riga del comando dopo IF. Per esempio:

IF EXIST nomefile. (
del nomefile.
) ELSE (
echo nomefile. mancante.
)

La situazione seguente NON funziona perché il comando del deve essere terminato con una nuova riga:

IF EXIST nomefile. del nomefile. ELSE echo nomefile. mancante

Neanche in questo caso funziona. Il comando ELSE deve essere sulla stessa riga della fine del comando IF:

IF EXIST nomefile. del nomefile.
ELSE echo nomefile. mancante

Questa situazione funziona se si desidera tutto su una riga:

IF EXIST nomefile. (del nomefile.) ELSE echo nomefile. mancante

Se le estensioni ai comandi sono abilitate IF cambia come segue:

IF [/I] stringa1 operat. compar. stringa2 comando
IF CMDEXTVERSION numero comando
IF DEFINED variabile comando

dove operat. compar. può essere uno di:

EQU - uguale
NEQ - non uguale
LSS - meno di
LEQ - meno di o uguale
GTR - maggiore di
GEQ - maggiore di o uguale

e l'opzione /I, se specificata, indica di non distinguere tra maiuscole e minuscole. L'opzione /I può essere usata anche nella forma stringa1==stringa2 di IF. Questi confronti sono generici, in quanto sia stringa1 sia stringa2 sono formate da cifre numeriche, poi le stringhe sono convertite in numeri e viene eseguito un confronto numerico.


CMDEXTVERSION condizionale opera come ERRORLEVEL, tranne che il confronto avviene rispetto a un  numero di versione interna associato alle estensioni di comando. La prima versione è 1 e sarà incrementata di uno quando sono aggiunte migliorie significative alle estansioni ai comandi.
CMDEXTVERSION condizionale non è mai vera quando le estensioni ai comandi sono disabilitate.

IDEFINED condizionale funziona come EXISTS se non che prende una variabile di ambiente e restituisce come vero se la variabile è definita.

%ERRORLEVEL% espande in una rappresentazione di stringa del corrente valore di ERRORLEVEL, pósto che non sia già presente una variabile di ambiente con nome ERRORLEVEL, nel cui caso si ottiene il valore di quest'ultima. Dopo l'esecuzione di un programma, ecco come viene usato ERRORLEVEL:

goto answer%ERRORLEVEL%
:answer0
echo Program ha restituito codice 0
:answer1
echo Program ha restituito codice 1

Si possono anche utilizzare i confronti numerici precedenti:

IF %ERRORLEVEL% LEQ 1 goto okay

%CMDCMDLINE% espande alla riga di comando di partenza passata a CMD.EXE prima di elaborare CMD.EXE, a condizione che non sia già presente una variabile con nome CMDCMDLINE, nel qual caso
si ottiene il valore di questa.

%CMDEXTVERSION% espande in una rappresentazione di stringa del valore corrente di CMDEXTVERSION, pósto che non sia già presente una variabile di ambiente con nome CMDEXTVERSION, nel qual caso
si ottiene il valore di questa.

LABEL Crea, cambia o elimina l'etichetta di volume di un disco.
LABEL [unità:][etichetta]
LABEL [/MP] [volume] [etichetta]





unità: Specifica la lettera dell'unità. etichetta Specifica l'etichetta del volume. /MP Specifica che il volume deve essere considerato come punto di montaggio o nome volume. volume Specifica la lettera di unità (seguita da due punti),  punto di montaggio o nome volume. Se viene specificato il nome volume, l'opzione /MP non è necessaria.

MD Crea una directory.
MKDIR [unità:]percorso
MD [unità:]percorso

Se le estensioni ai comandi sono abilitate, MKDIR cambia come segue:

MKDIR crea le directory intermedie nel percorso, se necessario. Per esempio, ipotizzando che \a non esiste, allora:


mkdir \a\b\c\d

è analogo a:

mkdir \a
chdir \a
mkdir b
chdir b
mkdir c
chdir c
mkdir d

che rappresenta ciò che si deve digitare con le estensioni disabilitate.

MKDIR Crea una directory.
MKDIR [unità:]percorso
MD [unità:]percorso

Se le estensioni ai comandi sono abilitate, MKDIR cambia come segue:

MKDIR crea le directory intermedie nel percorso, se necessario. Per esempio, ipotizzando che \a non esiste, allora:

mkdir \a\b\c\d

è analogo a:

mkdir \a
chdir \a
mkdir b
chdir b
mkdir c
chdir c
mkdir d

che rappresenta ciò che si deve digitare con le estensioni disabilitate.

MODE Configura una periferica di sistema.
Porta seriale: MODE COMm[:] [BAUD=b] [PARITA=p] [DATI=d] [STOP=s]
[to=on|off] [xon=on|off] [odsr=on|off]
[octs=on|off] [dtr=on|off|hs]
[rts=on|off|hs|tg] [idsr=on|off]

Stato della periferica: MODE [periferica] [/STATUS]

Reindirizzamento stampa: MODE LPTn[:]=COMm[:]

Selezione tabella codici: MODE CON[:] CP SELECT=yyy

Stato della tabella codici: MODE CON[:] CP [/STATUS]

Modalità di visualizzazione: MODE CON[:] [COLS=c] [LINES=n]

Impostazioni tastiera: MODE CON[:] [RATE=r DELAY=d]

MORE Visualizza l'output una schermata alla volta.
MORE [/E [/C] [/P] [/S] [/Tn] [+n]] < [unità:][percorso]nomefile
nome comando | MORE [/E [/C] [/P] [/S] [/Tn] [+n]]
MORE /E [/C] [/P] [/S] [/Tn] [+n] [file]

[unità:][percorso]nomefile Specifica un file da visualizzare una schermata alla volta.

nome comando Specifica un comando il cui output sarà visualizzato.

/E Attiva caratteristiche avanzate
/C Cancella lo schermo prima di visualizzare la pagina
/P Espande i caratteri di alimentazione modulo continuo
/S Converte più righe bianche in una singola riga
/Tn Espande la tabulazione a n spazi (predefinito 8)

Le opzioni possono essere presenti nelle variabili di ambiente MORE.

+n Comincia a visualizzare il primo file alla riga n

file Elenco di file da visualizzare. I file nell'elenco sono separati da spazi.

Se le caratteristiche avanzate sono attivate, i seguenti comandi sono validi al prompt -- More -- :

P n Visualizza le n righe successive
S n Salta le n righe successive
F Visualizza il file successivo
Q Esce
= Mostra il numero di riga
? Mostra la riga di Guida
<spazio> Visualizza la pagina successiva
<invio> Visualizza la riga successiva

MOVE Sposta uno o più file da una directory a un'altra directory.

Per spostare uno o più file:
MOVE [/Y | /-Y] [unità:][percorso]nomefile1[,...] destinazione

Per rinominare una directory:
MOVE [/Y | /-Y] [unità:][percorso]nomedir1 nomedir2

[unità:][percorso]nomefile1 Specifica la posizione e il nome del o dei file da spostare.
destinazione Specifica la nuova posizione del file. La destinazione può essere una lettera di unità e due punti, un nome di directory o una combinazione. Se si sposta solo un file, è possibile includere un nome file se si desidera rinominare il file mentre lo si sposta.
[unità:][percorso]nomedir1 Specifica la directory da rinominare.
nomedir2 Specifica il nuovo nome della directory.

/Y Elimina la richiesta della conferma per sovrascrivere un file di destinazione esistente.
/-Y Richiesta della conferma per sovrascrivere un file di destinazione esistente.

L'opzione /Y può essere presente nella variabile di ambiente COPYCMD, ma può essere evitata con /-Y nella riga di comando. L'impostazione predefinita è di chiedere conferma per le sovrascritture a meno che il comando MOVE non sia eseguito dall'interno di uno script batch.

PATH Visualizza o imposta un percorso di ricerca per file eseguibili.
PATH [[unità:]percorso[;...][;%PATH%]
PATH ;

Digitare PATH ; per cancellare tutte le impostazioni del percorso di ricerca e indicare a cmd.exe di cercare solo nella directory corrente. Digitare PATH senza parametri per visualizzare il percorso di ricerca corrente. Specificando %PATH% nella nuova impostazione, il percorso esistente viene aggiunto alla nuova impostazione.

PAUSE Sospende l'elaborazione di un file batch e visualizza un messaggio.
Interrompe l'elaborazione di un programma batch e visualizza il messaggio Premere un tasto per continuare...

POPD Ripristina il valore precedente della directory corrente salvato con PUSHD.
Passa alla directory memorizzata con il comando PUSHD.

POPD






Se le estensioni ai comandi sono abilitate, il comando POPD eliminerà qualsiasi lettera di unità temporanea creata da PUSHD quando si applica POPD all'unità dello stack della directory.

PRINT Stampa un file di testo.
PRINT [/D:periferica] [[unità:][percorso]nomefile[...]]


/D:periferica Specifica una periferica di stampa.

PROMPT Cambia il prompt dei comandi di Windows.
PROMPT [testo]

testo Specifica un nuovo Prompt dei comandi.

Il prompt è composto da caratteri normali e dai seguenti codici speciali:

$A & (e commerciale)
$B | (pipe)
$C ( (parentesi sinistra)
$D Data corrente
$E Codice escape (codice ASCII 27)
$F ) (parentesi destra)
$G > (simbolo maggiore di)
$H Backspace (cancella carattere precedente)
$L < (simbolo minore di)
$N Unità corrente
$P Unità corrente e percorso
$Q = (simbolo uguaglianza)
$S (spazio)
$T Ora corrente
$V Numero della versione di Windows XP
$_ Ritorno a capo e avanzamento riga
$$ $ (simbolo dollaro)

Se le estensioni ai comandi sono abilitate il comando PROMPT supporta i seguenti caratteri aggiuntivi per la formattazione:

$+ zero o più caratteri "+" a seconda della profondità dello stack delle directory di PUSHD, un carattere per ogni livello nello stack.

$M Visualizza il nome remoto associato alla lettera di unità corrente o una stringa vuota se l'unità corrente non è un'unità di rete.

PUSHD Salva la directory corrente e poi la cambia. Memorizza la directory corrente da utilizzare con il comando POPD, poi passa alla directory specificata.

PUSHD [percorso | ..]

percorso Specifica la directory da utilizzare come directory corrente.
Se le estensioni ai comandi sono abilitate, il comando PUSHD accetta i percorsi di rete oltre ai consueti lettere e percorsi di unità. Se viene specificato un percorso di rete, PUSHD provvederà a creare una lettera di unità temporanea che indichi la specifica risorsa di rete quindi cambierà l'unità e la directory correnti, utilizzando la lettera di unità appena definita. Le lettere di unità temporanee sono allocate da
Z: in giù, utilizzando la prima lettera di unità inutilizzata.

RD Elimina una directory.
RMDIR [/S] [/Q] [unità:]percorso
RD [/S] [/Q] [unità:]percorso

/S Rimuove tutte le directory e file nella directory specificata oltre alla directory stessa. Usato per rimuovere l'intera struttura di una directory.

/Q Inibisce la richiesta di conferma alla rimozione della directory eseguita con /S.

RECOVER Recupera le informazioni leggibili da un disco danneggiato o difettoso.
RECOVER [unità:][percorso]nomefile
Consultare la Guida comandi nella Guida di Windows XP prima di usare il comando RECOVER.

REM Registra commenti (note) in file batch o CONFIG.SYS.
REM [commento]

REN o RENAME Rinomina i file.
RENAME [unità:][percorso]nomefile1 nomefile2.
REN [unità:][percorso]nomefile1 nomefile2.

Impossibile specificare una nuova unità o percorso per il file di destinazione.

REPLACE Sostituisce i file.
REPLACE [unità1:][percorso1]nomefile [unità2:][percorso2] [/A] [/P] [/R] [/W]
REPLACE [unità1:][percorso1]nomefile [unità2:][percorso2] [/P] [/R] [/S] [/W]
[/U]

[unità1:][percorso1]nomefile Specifica il o i file di origine.
[unità2:][percorso2] Specifica la directory in cui i file devono essere sostituiti.
/A Aggiunge nuovi file alla directory destinazione. Non si può utilizzare con le opzioni /S o /U.
/P Chiede conferma prima di sostituire un file o aggiungere un file di origine.
/R Sostituisce sia i file di sola lettura che i file non protetti.
/S Sostituisce i file di tutte le sottodirectory nella directory di destinazione. Non si può utilizzare con l'opzione /A.
/W Attende l'inserimento di un disco prima di continuare.
/U Sostituisce (aggiorna) solo i file più vecchi del file di origine. Non si può utilizzare con l'opzione /A.

RMDIR Elimina una directory.
RMDIR [/S] [/Q] [unità:]percorso
RD [/S] [/Q] [unità:]percorso

/S Rimuove tutte le directory e file nella directory specificata oltre alla directory stessa. Usato per rimuovere l'intera struttura di una directory.

/Q Inibisce la richiesta di conferma alla rimozione della directory eseguita con /S.

SET Visualizza, imposta o elimina variabili di ambiente di Windows.
SET [variabile=[stringa]]

variabile Specifica il nome della variabile d'ambiente stringa. Specifica una serie di caratteri da assegnare alla variabile. Digitare SET senza parametri per visualizzare le variabili d'ambiente correnti.

Se le estensioni ai comandi sono abilitate SET cambia come segue:

il comando SET richiamato con un solo nome di variabile, senza segno di uguale o valore visualizzerà il valore di tutte le variabili il cui prefisso corrisponda al nome dato al comando SET. Per esempio:

SET P

visualizzerà tutte le variabili che iniziano con la lettera "P"

Il comando SET imposterà ERRORLEVEL a 1 se il nome della variabile non viene trovato nell'ambiente corrente. Il comando SET non consente che il segno uguale faccia parte del nome di una variabile. Sono state aggiunte due nuove opzioni al comando SET:

SET /A espressione
SET /P variabile=[StringaPrompt]

L'opzione /A specifica che la stringa alla destra del segno uguale è un'espressione numerica che viene calcolata. Il calcolo dell'espressione è semplice e supporta le seguenti operazioni, in ordine di importanza decrescente:

() - raggruppamento
! ~ - - operatori aritmetici
+ - - operatori aritmetici
<< >> - shift logico
& - bitwise e
^ - bitwise esclusivo o
| - bitwise o
= *= /= %= += -= - assegnazione
&= ^= |= <<= >>=
, - separatore espressione

Se si utilizzano operatori logici o di moduli, sarà necessario racchiudere la stringa dell'espressione entro virgolette. Le stringhe non numeriche nell'espressione vengono considerate come nomi di variabili di ambiente i cui valori sono convertiti in numeri prima che vengano utilizzati. Se un nome di variabile di ambiente è specificato ma non definito nell'ambiente corrente, allora si utilizza un valore di zero. Così è possibile eseguire operazioni aritmetiche con valori di variabili di ambiente senza dover digitare tutti i segni % per ottenere i rispettivi valori. Se SET /A viene eseguito dalla riga di comando al di fuori di uno script, verrà visualizzato il valore finale dell'espressione. L'operatore dell'assegnazione richiede un nome di variabile di ambiente alla sinistra dell'operatore di assegnazione. I valori numerici sono numeri decimali, a meno che non siano preceduti da 0x per numeri esadecimali e 0 per numeri ottali. Così 0x12 è analogo a 18 analogo a 022. Ricordare che la notazione ottale può generare confusione: 08 e 09 non sono numeri validi poiché 8 e 9 non sono cifre ottali valide.

L'opzione /P consente di impostare il valore di una variabile a una riga di input immessa dall'utente. Visualizza la Stringa Prompt specificata prima di leggere la riga di input. La Stringa Prompt può essere vuota.

La sostituzione delle variabili di ambiente è migliorata come segue:

%PATH:str1=str2%

espande la variabile di ambiente PATH, sostituendo ciascuna occorrenza di "str1" nel risultato espanso con "str2". "str2" può essere la stringa vuota per eliminare tutte le occorrenze di "str1" dall'output prodotto dall'espansione. "str1" può iniziare con un asterisco, e in tal caso sarà corrispondente al punto di inizio dell'output dell'espansione fino alla prima occorrenza della parte restante di str1. Può anche specificare sottostringhe per un'espansione.

%PATH:~10,5%

espande la variabile di ambiente PATH, e quindi utilizza solo i 5 caratteri che cominciano all'undicesimo (offset 10) carattere del risultato dell'espansione. Se la lunghezza non è specificata, per impostazione predefinita va al resto del valore della variabile. Se uno dei numeri(offset o lunghezza) è negativo, il numero utilizzato è il valore della lunghezza della variabile di ambiente sommato all'offset o lunghezza specificati.

%PATH:~-10%

estrae gli ultimi 10 caratteri della variabile PATH.

%PATH:~0,-2%

estrae tutti tranne gli ultimi 2 caratteri della variabile PATH.

Infine, è stato aggiunto il supporto per l'espansione ritardata delle variabili  di ambiente. Il supporto è disabilitato per impostazione predefinita, ma è possibile abilitarlo o meno mediante l'opzione /V del comando CMD.EXE. Vedere CMD /?

L'espansione ritardata della variabile di ambiente è utile per ovviare alle limitazioni dell'espansione corrente che si verificano quando viene letta una riga di testo, non quando viene eseguita. L'esempio seguente
dimostra il problema con un'espansione immediata:

impostare VAR=prima se "%VAR%" == "prima" (impostare VAR=dopo se "%VAR%" == "dopo" @echo In questo caso, ha funzionato)

non mostrerebbe il messaggio poiché %VAR% nelle istruzioni BOTH IF statements viene sostituito alla lettura della prima istruzione IF, poiché include logicamente il corpo di IF, che è un'istruzione composta. Pertanto, IF all'interno dell'istruzione composta mette a confronto "prima" con "dopo" che non saranno mai uguali. Analogamente, l'esempio seguente non funziona come dovrebbe:

set LIST=for %i in (*) do set LIST=%LIST% %i echo %LIST%

in quanto NON crea un elenco di file nella directory corrente, ma invece imposta la variabile LIST all'ultimo file trovato. Nuovamente, questo avviene perché %LIST% viene espanso solo una volta alla lettura dell'istruzione FOR, e in quel momento la variabile LIST è vuota. Quindi il loop FOR che in realtà si sta eseguendo è:

for %i in (*) do set LIST= %i

che mantiene l'impostazione di LIST all'ultimo file trovato.

L'espansione ritardata delle variabili di ambiente consente di utilizzare un carattere differente (punto esclamativo) perr espandere le variabili di ambiente al momento dell'esecuzione. Se l'espansione ritardata delle variabili di ambiente è abilitata, gli esempi appena mostrati potrebbero essere riportati come segue per funzionare correttamente:

set VAR=prima if "%VAR%" == "prima" ( set VAR=dopo if "!VAR!" == "dopo" @echo In questo caso, ha funzionato)

set LIST= for %i in (*) do set LIST=!LIST! %i echo %LIST%

Se le estensioni ai comandi sono abilitate, sono presenti molte variabili di ambiente dinamiche che è possibile espandere ma che non appaiono nell'elenco delle variabili mostrate da SET. Questi valori sono
calcolati dinamicamente ad ogni espansione delle variabili. Se l'utente definisce esplicitamente una variabile con uno di questi nomi, questa definizione sovrascrive la definizione dinamica descritta di seguito:

%CD% - espande alla stringa di directory corrente.

%DATE% - espande alla data corrente utilizzando lo stesso formato del comando DATE.

%TIME% - espande all'ora corrente utilizzando lo stesso formato del comando TIME.

%RANDOM% - espande a un numero decimale scelto a caso tra 0 e 32767.

%ERRORLEVEL% - espande al valore ERRORLEVEL corrente

%CMDEXTVERSION% - espande al numero di versione delle estensioni del processore di comando corrente.

%CMDCMDLINE% - espande alla riga di comando iniziale che ha invocato il
processore di comando.







© riproduzione riservata