Parametri dei comandi batch

« Older   Newer »
  Share  
view post Posted on 27/4/2010, 12:45

Group:
,,,..--::|| AMMINISTRATORE ||::--..,,,
Posts:
1,602
Location:
Scheda di rete

Status:


Apre una finestra a parte per eseguire un programma o un comando specifico.

START ["titolo"] [/percorso] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/WAIT] [/B] [comando/programma]
[parametri]


"titolo" Testo da visualizzare nella barra del titolo della finestra.
percorso Directory di avvio
B Avvia l'applicazione senza creare una nuova finestra.
L'applicazione ignora il controllo ^C. Finch‚ l'applicazione
non riattiver… autonomamente ^C, ^INTERR sar… l'unico
modo per interrompere l'applicazione.

I Il nuovo ambiente sar… l'ambiente originale trasmesso a
cmd.exe e non l'ambiente corrente.
MIN Avvia la finestra ridotta a icona.
MAX Avvia la finestra ingrandita.
SEPARATE Avvia programmi Windows 16 bit in uno spazio di memoria separato.
SHARED Avvia programmi Windows 16 bit in uno spazio di memoria condivisa.
LOW Avvia l'applicazione nella classe di priorit… IDLE.
NORMAL Avvia l'applicazione nella classe di priorit… NORMAL.
HIGH Avvia l'applicazione nella classe di priorit… HIGH.
REALTIME Avvia l'applicazione nella classe di priorit… REALTIME.
ABOVENORMAL Avvia l'applicazione nella classe di priorit… ABOVENORMAL
BELOWNORMAL Avvia l'applicazione nella classe di priorit… BELOWNORMAL
WAIT Avvia l'applicazione e ne attende la terminazione.
comando/programma
Se Š un comando interno cmd o un file batch, il processore
dei comandi verr… eseguito con l'opzione /K per cmd.exe.
La finestra non sar… quindi chiusa dopo l'esecuzione del
comando.

Se non Š un comando interno cmd o un file batch, si tratta
di un programma che sar… eseguito come applicazione in una
finestra o come applicazione di console.

parametri Questi sono i parametri passati al comando/programma.


Se le estensioni ai comandi sono abilitate, l'esecuzione di comandi dall'esterno
attraverso la riga di comando o il comando START Š cambiata come segue:

i file non eseguibili possono essere richiamati grazie alla associazione
digitando il nome del file come un normale comando. Esempio: WORD.DOC
avvier… l'applicazione associata con l'estensione di file .DOC.
Vedere i comandi ASSOC e FTYPE per informazioni su come creare le
associazioni dall'interno di uno script di comandi.

Se si esegue un'applicazione con GUI a 32 bit, CMD.EXE
non attende la terminazione dell'applicazione prima di ritornare al Prompt
dei comandi. Questo non accade se si sta eseguendo da uno script di comandi.


Se nella riga di comando la prima parola Š CMD, senza un'estensione o
un percorso, CMD Š sostituito con il valore della variabile COMSPEC,
per evitare di utilizzare CMD.EXE presente nella
directory corrente .

Se nella riga di comando la prima parola NON contiene un'estensione,
CMD.EXE utilizza il valore della variabile d'ambiente PATHEXT
per determinare quali estensioni cercare e in quale ordine.
Il valore predefinito per la variabile PATHTEXT Š:


.COM;.EXE;.BAT;.CMD

La sintassi Š la stessa della variabile PATH, il carattere
utilizzato per separare i vari elementi Š il punto e virgola.

Durante la ricerca di un eseguibile, se non c'Š alcun file corrispondente
con le estensioni previste, viene controllato se il nome, senza nessuna
estensione, corrisponde a quello di una directory; se Š vero, il comando START
avvia Esplora risorse a partire dal percorso individuato.
Se eseguito dalla riga di comando, Š equivalente all'esecuzione di CD /D
da quel percorso.
Associa un percorso ad una lettera di unit….

SUBST [unit…1: [unit…2:]percorso]
SUBST unit…1: /D

unit…1: Specifica un'unit… virtuale a cui si desidera assegnare
un percorso.
[unit…2:]percorso Specifica un'unit… fisica e un percorso che si desidera
assegnare ad un'unit… virtuale.
/D Elimina un'unit… (virtuale) sostituta.

Digitare SUBST senza parametri per visualizzare l'elenco delle unit… virtuali
correnti.
Visualizza o imposta l'ora di sistema.

TIME [/T | ora]

Digitare TIME senza parametri per visualizzare l'ora corrente e reimpostarla.
Premere INVIO per mantenere la stessa ora.

Se le estensioni ai comandi sono abilitate, il comando TIME supporta
l'opzione /T che comunica al comando di mostrare
l'ora corrente, senza richiedere una nuova ora.
Imposta il titolo della finestra per la finestra del Prompt di comandi.

TITLE [stringa]

stringa Specifica il titolo della finestra del Prompt di comandi.
Visualizza graficamente la struttura delle directory di un'unit… o percorso.

TREE [unit…:][percorso] [/F] [/A]

/F Visualizza i nomi dei file in ogni cartella.
/A Usa caratteri ASCII invece di caratteri estesi.

Visualizza il contenuto di uno o pi— file di testo.

TYPE [unit…:][percorso]nomefile
Visualizza la versione di Windows XP.

VER
Indica a cmd.exe se verificare o meno la corretta scrittura dei file su disco.


VERIFY [ON | OFF]

Digitare VERIFY senza parametri per visualizzare l'impostazione corrente.
Visualizza l'etichetta di volume e il numero seriale del disco, se presenti.

VOL [unit…:]
Copia i file e le strutture di directory.

XCOPY source [destinazione] [/A | /M] [/D[:data]] [/P] [/S [/E]] [/V] [/W]
[/C] [/I] [/Q] [/F] [/L] [/H] [/R] [/T] [/U]
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]
[/EXCLUDE:file1[+file2][+file3]...]

source Specifica i file da copiare.
destinazione Specifica posizione e/o nome dei nuovi file.
/A Copia solo file con attributo di archivio,
non cambia l'attributo.
/M Copia solo file con attributo di archivio,
disattiva l'attributo.
/D:m-d-y Copia i file modificati a partire dalla data specificata.
Se non sono indicate date, copia solo i file con
ora di origine pi— recente dell'ora di destinazione.
/EXCLUDE:file1[+file2][+file3]...
Specifica un elenco di file contenenti stringhe. Ogni stringa
deve essere posizionata in una riga differente nei file. Quando
una delle stringhe corrisponde a una qualsiasi parte del
percorso assoluto del file da copiare, il file sar… escluso
dalla copia. Per esempio, specificando una stringa come
\obj\ o .obj saranno esclusi tutti i file al di sotto della
directory obj o tutti i file con estensione .obj.
/P Chiede conferma prima di creare ogni file di destinazione.
/S Copia directory e sottodirectory tranne quelle vuote.
/E Copia directorye sottodirectory, comprese quelle vuote.
Analogo a /S /E. Pu• essere utilizzata per modificare /T.
/V Verifica ogni nuovo file.
/W Chiede di premere un tasto prima di copiare.
/C Continua a copiare anche in caso di errori.
/I Se la destinazione non esiste e la copia riguarda pi— file,
presuppone che la destinazione sia una directory.
/Q Non visualizza i nomi dei file durante la copia.
/F Visualizza i nomi dei file di origine e destinazione durante la
copia.
/L Visualizza i file che sarebbero copiati.
/H Copia anche i file nascosti e di sistema.
/R Sovrascrive i file di sola lettura.
/T Crea la struttura di directory, ma non copia i file. Non include
le directory o sottodirectory vuote. /T /E include directory
e sottodirectory vuote.
/U Copia solo i file che gi… esistono nella destinazione.
/K Copia gli attributi. Il normale Xcopy reimposta gli attributi di
sola lettura.
/N Copia utilizzando i nomi brevi creati.
/O Copia le informazioni di propriet… e ACL.
/X Copia le impostazioni di controllo degli eventi dei file
(implica /O).
/Y Elimina la richiesta di conferma per sovrascrivere un file
di destinazione esistente.
/-Y Specifica di chiedere conferma prima di sovrascrivere un file
di destinazione esistente.
/Z Copia file da rete in modalit… riavviabile.

L'opzione /Y pu• essere impostata a priori nella variabile d'ambiente COPYCMD.
In tal caso Š comunque possibile annullare tale opzione specificando /-Y alla
riga di comando.
Esegue un'elaborazione condizionale in programmi 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.
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.
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.
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.
Configura le periferiche 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]
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
Sposta file e rinomina file e 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.
Visualizza o imposta il percorso di ricerca per i 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.
Interrompe l'elaborazione di un programma batch e visualizza il messaggio
Premere un tasto per continuare...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.
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.
Stampa un file di testo.

PRINT [/D:periferica] [[unit…:][percorso]nomefile[...]]

/D:periferica Specifica una periferica di stampa.

Cambia il Prompt dei comandi di cmd.exe.

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.
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.
Rimuove (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.
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.
Registra dei commenti (note) in un file batch o in CONFIG.SYS.

REM [commento]
Rinomina uno o pi— file.

RENAME [unit…:][percorso]nomefile1 nomefile2.
REN [unit…:][percorso]nomefile1 nomefile2.

Impossibile specificare una nuova unit… o percorso per il file di destinazione.
Rinomina uno o pi— file.

RENAME [unit…:][percorso]nomefile1 nomefile2.
REN [unit…:][percorso]nomefile1 nomefile2.

Impossibile specificare una nuova unit… o percorso per il file di destinazione.
Sostituisce 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.
Rimuove (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.
Visualizza, imposta o rimuove le variabili d'ambiente di cmd.exe.

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 StringaPrompt specificata prima di leggere
la riga di input. La StringaPrompt 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 ambiene Š 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.
Comincia la localizzazione dei cambiamenti all'ambiente effettuati in un file batch.
I cambiamenti all'ambiente effettuati dopo l'esecuzione di SETLOCAL sono
locali al file batch.
ENDLOCAL va usato per ripristinare le impostazioni precedenti. Una volta
erminato uno script batch, viene eseguito ENDLOCAL per ogni
comando SETLOCAL emesso dallo script batch.

SETLOCAL

Se le estensioni di comando sono abilitate, SETLOCAL Š cambiata come segue:

il comando batch SETLOCAL accetta ora argomenti facoltativi:
ENABLEEXTENSIONS / DISABLEEXTENSIONS
attiva e disattiva le estensioni del processore dei comandi. Digitare
CMD /? per dettagli.
ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION
attiva o disattiva l'espansione ritardata della variabile
di ambiente. Digitare SET /? per dettagli.
Queste modifiche si eseguono fino all'esecuzione del comando ENDLOCAL
indipendentemente dalle impostazioni precedenti il comando SETLOCAL.

Il comando SETLOCAL imposter… il valore di ERRORLEVEL se Š fornito un
argomento. Il valore sar… 0 se l'argomento Š uno dei due valori validi,
altrimenti sar… 1. Ô possibile utilizzare questo comando nei programmi batch
per determinare se le estensioni sono disponibili. A questo scopo utilizzare la
seguente sequenza di comandi:

VERIFY ALTRO 2>nul
SETLOCAL ENABLEEXTENSIONS
IF ERRORLEVEL 1 echo Impossibile abilitare le estensioni

La correttezza della procedura di verifica si basa sul fatto che nelle
precedenti versioni di CMD.EXE SETLOCAL non impostava il valore di ERRORLEVEL.
Il comando VERIFY seguito da un argomento non valido inizializza ERRORLEVEL
ad un valore diverso da 0.
Cambia la posizione dei parametri sostituibili in un file batch.

SHIFT [/n]

Se le estensioni ai comandi sono abilitate, il comando SHIFT supporta
l'opzione /n che comunica al comando di iniziare l'azione di shif
all'argomento "alla n", dove n pu• essere tra zero e otto. Per esempio:

SHIFT /2

esegue lo shift di %­3 a %2, %­4 a %­3, ecc., lasciando %0 e %1 invariati.
SORT [/R] [/+n] [/M kilobytes] [/L locale] [/REC recordbytes]

[[unit…1:][percorso1]nomefile1] [/T [unit…2:][percorso2]]

[/O [unit…3:][percorso3]nomefile3]

/+n Specifica il numero di carattere, n, per

iniziare ciascun confronto. /+3 indica che

ciascun confronto deve iniziare al terzo

carattere di ciascuna riga. Le righe con meno di

n caratteri collate prima delle altre righe.

Per impostazione predefinita, il confronto inizia

con il primo carattere di ciascuna riga.

/L[OCALE] locale Sovrascrive l'impostazione internazionale

predefinita del sistema con l'impostazione

specificata. L'impostazione internazionale ""C""

Š la sequenza di ordinamento pi— veloce ed Š

attualmente l'unica alternativa. L'ordinamento

tiene sempre in considerazione la differenza tra

maiuscole e minuscole.

/M[EMORY] kilobytes Specifica la quantit… di memoria da utilizzare per

l'ordinamento, in kilobyte. La dimensione della

memoria Š sempre limitata ad un minino di 160 KB.

Se la dimensione della memoria Š specificata

per l'ordinamento verr… utilizzata l'esatta

quantit… specificata, a prescindere dalla quantit…

di memoria disponibile.



Le migliori prestazioni vengono in genere ottenute

non specificando una dimensione per la memoria.

Per impostazione predefinita, l'ordinamento verr…

eseguito in una singola operazione (senza file

temporaneo) se ci• Š adeguato alla dimensione

massima della memoria predefinita; in caso

contrario, verr… eseguito in due operazioni (con

i dati parzialmente ordinati memorizzati in un

file temporaneo) in modo che le quantit… di

memoria utilizzate per l'ordinamento e la fusione

siano uguali. La quantit… massima di memoria

predefinita Š il 90% della memoria disponibile

se sia l'input che l'output sono file e del 45%


della memoria negli altri casi.

/REC[ORD_MAXIMUM] caratteri Specifica il numero massimo di caratteri

in un record (predefiniti 4096, massimo 65535).

/R[EVERSE] Inverte l'ordinamento,

ordina da Z a A, quindi da 9 a 0.

[unit…1:][percorso1]nomefile1 Specifica il file da ordinare. Se non Š

specificato, viene ordinato l'input standard.

Specificare il file di input Š pi— veloce rispetto a

reindirizzare lo stesso file come input standard.

/T[EMPORARY]

[unit…2:][percorso2] Specifica il percorso della directory che contiene

i risultati dell'ordinamento qualora i dati

non possano risiedere in memoria principale. L'impostazione predefinita Š

di utilizzare la directory di sistema temporanea.

/O[UTPUT]

[unit…3:][percorso3]nomefile3 Specifica il file dove conservare l'input

ordinato. Se non Š specificato, i dati sono

scritti nell'output standard. Specificare

il file di output Š pi— rapido rispetto a reindirizzare

l'output standard nello stesso file.


Apre una finestra a parte per eseguire un programma o un comando specifico.

START ["titolo"] [/percorso] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/WAIT] [/B] [comando/programma]
[parametri]


"titolo" Testo da visualizzare nella barra del titolo della finestra.
percorso Directory di avvio
B Avvia l'applicazione senza creare una nuova finestra.
L'applicazione ignora il controllo ^C. Finch‚ l'applicazione
non riattiver… autonomamente ^C, ^INTERR sar… l'unico
modo per interrompere l'applicazione.

I Il nuovo ambiente sar… l'ambiente originale trasmesso a
cmd.exe e non l'ambiente corrente.
MIN Avvia la finestra ridotta a icona.
MAX Avvia la finestra ingrandita.
SEPARATE Avvia programmi Windows 16 bit in uno spazio di memoria separato.
SHARED Avvia programmi Windows 16 bit in uno spazio di memoria condivisa.
LOW Avvia l'applicazione nella classe di priorit… IDLE.
NORMAL Avvia l'applicazione nella classe di priorit… NORMAL.
HIGH Avvia l'applicazione nella classe di priorit… HIGH.
REALTIME Avvia l'applicazione nella classe di priorit… REALTIME.
ABOVENORMAL Avvia l'applicazione nella classe di priorit… ABOVENORMAL
BELOWNORMAL Avvia l'applicazione nella classe di priorit… BELOWNORMAL
WAIT Avvia l'applicazione e ne attende la terminazione.
comando/programma
Se Š un comando interno cmd o un file batch, il processore
dei comandi verr… eseguito con l'opzione /K per cmd.exe.
La finestra non sar… quindi chiusa dopo l'esecuzione del
comando.

Se non Š un comando interno cmd o un file batch, si tratta
di un programma che sar… eseguito come applicazione in una
finestra o come applicazione di console.

parametri Questi sono i parametri passati al comando/programma.


Se le estensioni ai comandi sono abilitate, l'esecuzione di comandi dall'esterno
attraverso la riga di comando o il comando START Š cambiata come segue:

i file non eseguibili possono essere richiamati grazie alla associazione
digitando il nome del file come un normale comando. Esempio: WORD.DOC
avvier… l'applicazione associata con l'estensione di file .DOC.
Vedere i comandi ASSOC e FTYPE per informazioni su come creare le
associazioni dall'interno di uno script di comandi.

Se si esegue un'applicazione con GUI a 32 bit, CMD.EXE
non attende la terminazione dell'applicazione prima di ritornare al Prompt
dei comandi. Questo non accade se si sta eseguendo da uno script di comandi.


Se nella riga di comando la prima parola Š CMD, senza un'estensione o
un percorso, CMD Š sostituito con il valore della variabile COMSPEC,
per evitare di utilizzare CMD.EXE presente nella
directory corrente .

Se nella riga di comando la prima parola NON contiene un'estensione,
CMD.EXE utilizza il valore della variabile d'ambiente PATHEXT
per determinare quali estensioni cercare e in quale ordine.
Il valore predefinito per la variabile PATHTEXT Š:


.COM;.EXE;.BAT;.CMD

La sintassi Š la stessa della variabile PATH, il carattere
utilizzato per separare i vari elementi Š il punto e virgola.

Durante la ricerca di un eseguibile, se non c'Š alcun file corrispondente
con le estensioni previste, viene controllato se il nome, senza nessuna
estensione, corrisponde a quello di una directory; se Š vero, il comando START
avvia Esplora risorse a partire dal percorso individuato.
Se eseguito dalla riga di comando, Š equivalente all'esecuzione di CD /D
da quel percorso.
Associa un percorso ad una lettera di unit….

SUBST [unit…1: [unit…2:]percorso]
SUBST unit…1: /D

unit…1: Specifica un'unit… virtuale a cui si desidera assegnare
un percorso.
[unit…2:]percorso Specifica un'unit… fisica e un percorso che si desidera
assegnare ad un'unit… virtuale.
/D Elimina un'unit… (virtuale) sostituta.

Digitare SUBST senza parametri per visualizzare l'elenco delle unit… virtuali
correnti.
Visualizza o imposta l'ora di sistema.

TIME [/T | ora]

Digitare TIME senza parametri per visualizzare l'ora corrente e reimpostarla.
Premere INVIO per mantenere la stessa ora.

Se le estensioni ai comandi sono abilitate, il comando TIME supporta
l'opzione /T che comunica al comando di mostrare
l'ora corrente, senza richiedere una nuova ora.
Imposta il titolo della finestra per la finestra del Prompt di comandi.

TITLE [stringa]

stringa Specifica il titolo della finestra del Prompt di comandi.
Visualizza graficamente la struttura delle directory di un'unit… o percorso.

TREE [unit…:][percorso] [/F] [/A]

/F Visualizza i nomi dei file in ogni cartella.
/A Usa caratteri ASCII invece di caratteri estesi.

Visualizza il contenuto di uno o pi— file di testo.

TYPE [unit…:][percorso]nomefile
Visualizza la versione di Windows XP.

VER
Indica a cmd.exe se verificare o meno la corretta scrittura dei file su disco.


VERIFY [ON | OFF]

Digitare VERIFY senza parametri per visualizzare l'impostazione corrente.
Visualizza l'etichetta di volume e il numero seriale del disco, se presenti.

VOL [unit…:]
Copia i file e le strutture di directory.

XCOPY source [destinazione] [/A | /M] [/D[:data]] [/P] [/S [/E]] [/V] [/W]
[/C] [/I] [/Q] [/F] [/L] [/H] [/R] [/T] [/U]
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]
[/EXCLUDE:file1[+file2][+file3]...]

source Specifica i file da copiare.
destinazione Specifica posizione e/o nome dei nuovi file.
/A Copia solo file con attributo di archivio,
non cambia l'attributo.
/M Copia solo file con attributo di archivio,
disattiva l'attributo.
/D:m-d-y Copia i file modificati a partire dalla data specificata.
Se non sono indicate date, copia solo i file con
ora di origine pi— recente dell'ora di destinazione.
/EXCLUDE:file1[+file2][+file3]...
Specifica un elenco di file contenenti stringhe. Ogni stringa
deve essere posizionata in una riga differente nei file. Quando
una delle stringhe corrisponde a una qualsiasi parte del
percorso assoluto del file da copiare, il file sar… escluso
dalla copia. Per esempio, specificando una stringa come
\obj\ o .obj saranno esclusi tutti i file al di sotto della
directory obj o tutti i file con estensione .obj.
/P Chiede conferma prima di creare ogni file di destinazione.
/S Copia directory e sottodirectory tranne quelle vuote.
/E Copia directorye sottodirectory, comprese quelle vuote.
Analogo a /S /E. Pu• essere utilizzata per modificare /T.
/V Verifica ogni nuovo file.
/W Chiede di premere un tasto prima di copiare.
/C Continua a copiare anche in caso di errori.
/I Se la destinazione non esiste e la copia riguarda pi— file,
presuppone che la destinazione sia una directory.
/Q Non visualizza i nomi dei file durante la copia.
/F Visualizza i nomi dei file di origine e destinazione durante la
copia.
/L Visualizza i file che sarebbero copiati.
/H Copia anche i file nascosti e di sistema.
/R Sovrascrive i file di sola lettura.
/T Crea la struttura di directory, ma non copia i file. Non include
le directory o sottodirectory vuote. /T /E include directory
e sottodirectory vuote.
/U Copia solo i file che gi… esistono nella destinazione.
/K Copia gli attributi. Il normale Xcopy reimposta gli attributi di
sola lettura.
/N Copia utilizzando i nomi brevi creati.
/O Copia le informazioni di propriet… e ACL.
/X Copia le impostazioni di controllo degli eventi dei file
(implica /O).
/Y Elimina la richiesta di conferma per sovrascrivere un file
di destinazione esistente.
/-Y Specifica di chiedere conferma prima di sovrascrivere un file
di destinazione esistente.
/Z Copia file da rete in modalit… riavviabile.

L'opzione /Y pu• essere impostata a priori nella variabile d'ambiente COPYCMD.
In tal caso Š comunque possibile annullare tale opzione specificando /-Y alla
riga di comando.
 
Web     Top
0 replies since 27/4/2010, 12:45   1064 views
  Share