Esporta (0) Stampa
Espandi tutto

Informazioni introduttive sulla shell dei comandi

Aggiornamento: gennaio 2005

Si applica a: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

Informazioni introduttive sulla shell dei comandi

La shell dei comandi è un programma software che consente di stabilire una comunicazione diretta tra l'utente e il sistema operativo. L'interfaccia utente non grafica della shell dei comandi rappresenta l'ambiente in cui eseguire applicazioni e utilità a caratteri. La shell dei comandi esegue programmi e ne visualizza l'output sullo schermo utilizzando singoli caratteri simili all'interprete dei comandi di MS-DOS, Command.com. La shell dei comandi del sistema operativo server Windows utilizza l'interprete dei comandi Cmd.exe, che carica le applicazioni e indirizza il flusso di informazioni tra di esse, per convertire l'input dell'utente in un formato comprensibile dal sistema operativo.

È possibile utilizzare la shell dei comandi per creare e modificare file batch, denominati anche script, con cui rendere automatiche le attività più comuni. Ad esempio, è possibile utilizzare script per automatizzare la gestione degli account utente o l'esecuzione dei backup notturni. È inoltre possibile utilizzare la versione per riga di comando del programma Windows Script Host, CScript, per eseguire script più complessi nella shell dei comandi. Per ulteriori informazioni, vedere Eseguire Windows Script Host. L'utilizzo di file batch consente di eseguire operazioni in modo più efficiente rispetto a quanto possibile con l'interfaccia utente. I file batch infatti accettano tutti i comandi disponibili per la riga di comando. Per ulteriori informazioni sui file batch e sugli script, vedere Utilizzo di file batch.

È possibile personalizzare la finestra del prompt dei comandi per migliorare la leggibilità dei dati e per esercitare un maggiore controllo sul modo in cui i programmi vengono eseguiti. Per ulteriori informazioni sulla personalizzazione della finestra del prompt dei comandi, vedere Configurare il prompt dei comandi.

Utilizzo della sintassi dei comandi

La sintassi indica in quale ordine digitare un comando e i relativi parametri. L'esempio che segue del comando xcopy illustra una serie di formati di testo della sintassi:

xcopy Origine [Destinazione] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:MM-GG-AAAA]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a | /m}] [/n] [/o] [/x] [/exclude:File1[+[File2]][+[File3]] [{/y | /-y}] [/z]

Nella tabella seguente viene spiegato come interpretare i diversi formati di testo.

Convenzioni di formattazione

Formato Significato

Corsivo

Informazioni che devono essere specificate dall'utente

Grassetto

Elementi che l'utente deve digitare esattamente come indicato

Puntini (...)

Parametro che è possibile ripetere più volte in una riga di comando

Parentesi quadre ([])

Elementi facoltativi

Parentesi graffe ({}); possibili scelte separate da una barra verticale (|). Esempio: {even|odd}

Opzioni alternative tra le quali l'utente deve sceglierne una sola

Tipo di carattere Courier

Codice oppure output di programmi

Utilizzo di più comandi e di simboli di elaborazione condizionale

È possibile eseguire più comandi da una singola riga di comando o script utilizzando simboli di elaborazione condizionale. Quando si eseguono più comandi con simboli di elaborazione condizionale, i comandi a destra del simbolo agiscono in base ai risultati del comando a sinistra del simbolo. Ad esempio, è possibile fare in modo che un comando venga eseguito solo se il comando precedente non riesce oppure solo se il comando precedente è stato eseguito correttamente.

I caratteri speciali riportati nella tabella che segue possono essere utilizzati per passare più comandi.

 

Carattere Sintassi Definizione

& [...]

Comando1 &Comando2

Da utilizzare per separare più comandi digitati sulla stessa riga di comando. Cmd.exe esegue il primo comando, quindi il secondo.

&& [...]

Comando1 &&Comando2

Da utilizzare per eseguire il comando che segue && solo se il comando che precede il simbolo viene eseguito correttamente. Cmd.exe esegue il primo comando, quindi esegue il secondo solo se il primo è stato completato correttamente.

|| [...]

Comando1 || Comando2

Da utilizzare per eseguire il comando che segue || solo se il comando che precede questo simbolo non viene eseguito correttamente. Cmd.exe esegue il primo comando, quindi esegue il secondo solo se il primo non è stato completato correttamente (ha ricevuto un codice di errore superiore a zero).

( ) [...]

( Comando1 & Comando2)

Da utilizzare per raggruppare o nidificare più comandi.

; o ,

Comando1 Parametro1;Parametro2

Da utilizzare per separare i parametri dei comandi.

Note

  • La e commerciale (&), la barra verticale o pipe (|) e le parentesi ( ) sono caratteri speciali che devono essere preceduti dal carattere di escape (^) o da virgolette doppie quando vengono passati come argomenti.

  • Se un comando completa un'operazione correttamente, restituisce un codice pari a zero o non restituisce alcun codice. Per ulteriori informazioni sui codici di uscita, vedere Utilizzo dei Deployment Kit e dei Resource Kit di Windows.

Nidificazione delle shell dei comandi

È possibile nidificare le shell dei comandi all'interno di Cmd.exe aprendo una nuova istanza di Cmd.exe dal prompt dei comandi. Per impostazione predefinita, ogni istanza di Cmd.exe eredita l'ambiente dell'applicazione Cmd.exe padre. La nidificazione di istanze di Cmd.exe consente di apportare modifiche all'ambiente locale senza conseguenze sull'applicazione padre di Cmd.exe. In questo modo l'ambiente originario di Cmd.exe viene mantenuto intatto ed è possibile tornarvi dopo aver terminato la shell dei comandi nidificata. Le modifiche apportate nella shell dei comandi nidificata non vengono salvate.

Per nidificare una shell dei comandi, al prompt dei comandi digitare:

cmd

Verrà visualizzato un messaggio simile al seguente:

Microsoft (R) Windows Server 2003, Standard Edition (TM)(C) Copyright 1985-2002 Microsoft Corp.

Per chiudere la shell dei comandi nidificata, digitare exit.

È possibile localizzare ulteriormente le modifiche in un'istanza di Cmd.exe o in uno script mediante i comandi setlocal ed endlocal. Setlocal crea un ambito locale mentre endlocal lo termina. Tutte le modifiche apportate all'interno dell'ambito setlocal ed endlocal vengono eliminate, lasciando quindi immutato l'ambiente originario. È possibile nidificare questi due comandi fino a un massimo di 32 livelli. Per ulteriori informazioni sui comandi setlocal e endlocal, vedere Setlocal e Endlocal.

Utilizzo di variabili di ambiente con Cmd.exe

L'ambiente della shell dei comandi di Cmd.exe è definito da variabili che determinano il funzionamento della shell dei comandi e del sistema operativo. È possibile definire il funzionamento dell'ambiente della shell dei comandi o dell'ambiente di tutto il sistema operativo utilizzando due tipi di variabili di ambiente, ovvero di sistema e locali. Le variabili di ambiente di sistema definiscono il funzionamento dell'ambiente del sistema operativo globale. Le variabili di ambiente locali definiscono il funzionamento dell'ambiente dell'istanza attuale di Cmd.exe.

Le variabili di ambiente di sistema sono preimpostate nel sistema operativo e sono disponibili per tutti i processi del sistema operativo server Windows. Solo gli utenti con credenziali di amministratore possono modificare le variabili di sistema. Tali variabili vengono generalmente utilizzate negli script per i processi di accesso.

Le variabili di ambiente locali sono disponibili solo quando l'utente per il quale sono state create è connesso al computer. Le variabili locali impostate nell'hive HKEY_CURRENT_USER sono valide solo per l'utente corrente, ma definiscono il funzionamento dell'ambiente del sistema operativo globale.

Nell'elenco che segue verranno descritti i vari tipi di variabili in ordine decrescente di precedenza:

  1. Variabili di sistema incorporate

  2. Variabili di sistema presenti nell'hive HKEY_LOCAL_MACHINE

  3. Variabili locali presenti nell'hive HKEY_CURRENT_USER

  4. Tutte le variabili di ambiente e i percorsi impostati nel file Autoexec.bat

  5. Tutte le variabili di ambiente e i percorsi impostati in uno script di accesso, se presente

  6. Variabili utilizzate in modo interattivo in uno script o in un file batch

Nella shell dei comandi ogni istanza di Cmd.exe eredita l'ambiente della rispettiva applicazione padre. È pertanto possibile modificare le variabili nel nuovo ambiente Cmd.exe senza conseguenze sull'ambiente dell'applicazione padre.

Nella tabella riportata di seguito sono elencate le variabili di ambiente di sistema e locali per il sistema operativo server Windows.

 

Variabile Tipo Descrizione

%ALLUSERSPROFILE%

Local

Restituisce il percorso del profilo Tutti gli utenti.

%APPDATA%

Local

Restituisce il percorso in cui le applicazioni memorizzano i dati per impostazione predefinita.

%CD%

Local

Restituisce la stringa della directory attuale

%CMDCMDLINE%

Local

Restituisce la riga di comando utilizzata per avviare il programma Cmd.exe attuale.

%CMDEXTVERSION%

Sistema

Restituisce il numero di versione delle estensioni del processore dei comandi attuale.

%COMPUTERNAME%

Sistema

Restituisce il nome del computer.

%COMSPEC%

Sistema

Restituisce il percorso esatto dell'eseguibile della shell dei comandi.

%DATE%

Sistema

Restituisce la data attuale. Utilizza lo stesso formato del comando date /t. Generato da Cmd.exe. Per ulteriori informazioni sul comando date, vedere Date.

%ERRORLEVEL%

Sistema

Restituisce il codice di errore del comando utilizzato più di recente. Un valore diverso da zero generalmente indica un errore.

%HOMEDRIVE%

Sistema

Restituisce la lettera dell'unità locale della workstation dell'utente connessa alla home directory dell'utente. Impostato in base al valore della home directory. La home directory dell'utente è specificata in Utenti e gruppi locali.

%HOMEPATH%

Sistema

Restituisce il percorso completo della home directory dell'utente Impostato in base al valore della home directory. La home directory dell'utente è specificata in Utenti e gruppi locali.

%HOMESHARE%

Sistema

Restituisce il percorso di rete della home directory condivisa dell'utente. Impostato in base al valore della home directory. La home directory dell'utente è specificata in Utenti e gruppi locali.

%LOGONSERVER%

Local

Restituisce il nome del controller di dominio che ha convalidato la sessione di accesso attuale.

%NUMBER_OF_PROCESSORS%

Sistema

Specifica il numero di processori installati nel computer.

%OS%

Sistema

Restituisce il nome del sistema operativo. In Windows 2000 il sistema operativo viene visualizzato come Windows NT.

%PATH%

Sistema

Specifica il percorso di ricerca dei file eseguibili.

%PATHEXT%

Sistema

Restituisce un elenco delle estensioni dei file che il sistema operativo considera eseguibili.

%PROCESSOR_ARCHITECTURE%

Sistema

Restituisce l'architettura del chip del processore. Valori: x86 o IA64 (basata su Itanium).

%PROCESSOR_IDENTFIER%

Sistema

Restituisce una descrizione del processore.

%PROCESSOR_LEVEL%

Sistema

Restituisce il numero di modello del processore installato nel computer.

%PROCESSOR_REVISION%

Sistema

Restituisce il numero di revisione del processore.

%PROMPT%

Local

Restituisce le impostazioni del prompt dei comandi per l'interprete attuale. Generato da Cmd.exe.

%RANDOM%

Sistema

Restituisce un numero decimale casuale compreso tra 0 e 32767. Generato da Cmd.exe.

%SYSTEMDRIVE%

Sistema

Restituisce l'unità contenente la directory principale del sistema operativo server Windows, ovvero la directory principale del sistema (system root).

%SYSTEMROOT%

Sistema

Restituisce il percorso della directory principale del sistema operativo server Windows.

%TEMP% e %TMP%

Sistema e utente

Restituisce le directory temporanee predefinite utilizzate dalle applicazioni disponibili agli utenti attualmente connessi. Alcune applicazioni richiedono TEMP, mentre altre richiedono TMP.

%TIME%

Sistema

Restituisce l'ora attuale. Utilizza lo stesso formato del comando time /t. Generato da Cmd.exe. Per ulteriori informazioni sul comando time, vedere Ora.

%USERDOMAIN%

Local

Restituisce il nome del dominio contenente l'account dell'utente.

%USERNAME%

Local

Restituisce il nome dell'utente attualmente connesso.

%USERPROFILE%

Local

Restituisce il percorso del profilo dell'utente attuale.

%WINDIR%

Sistema

Restituisce il percorso della directory del sistema operativo.

Impostazione delle variabili di ambiente

Utilizzare il comando set per creare, modificare, eliminare o visualizzare variabili di ambiente. Il comando set modifica le variabili solo nell'ambiente della shell corrente.

Per visualizzare una variabile, al prompt dei comandi digitare:

set NomeVariabile

Per aggiungere una variabile, al prompt dei comandi digitare:

setNomeVariabile=Valore

Per eliminare una variabile, al prompt dei comandi digitare:

set NomeVariabile =

È possibile utilizzare molti caratteri come valori delle variabili, incluso lo spazio. I caratteri speciali <, >, |, & o ^, se utilizzati, devono essere preceduti da un carattere di escape (^) o da virgolette doppie. Se si utilizzano le virgolette, esse verranno incluse come parte del valore in quanto tutto quello che segue il segno di uguale viene considerato un valore. Si prendano in considerazione i seguenti esempi:

  • Per creare il valore della variabile nuovo&nome, digitare:

    set varname=nuovo^&nome

  • Per creare il valore della variabile "nuovo&nome", digitare:

    set varname="nuovo&nome"

  • Se si digita set varname=nuovo&nome al prompt dei comandi, verrà visualizzato un messaggio di errore simile al seguente:

    "'nome' non è riconosciuto come comando interno o esterno, un programma eseguibile o un file batch."
    

Per i nomi delle variabili non è importante la distinzione tra maiuscole e minuscole. set tuttavia visualizza la variabile esattamente come è stata digitata. È possibile combinare lettere maiuscole e minuscole nei nomi delle variabili per rendere il codice più leggibile, ad esempio NomeUtente.

Note

  • La dimensione massima della singola variabile di ambiente è 8192 byte.

  • La dimensione massima totale di tutte le variabili di ambiente, inclusi i nomi delle variabili e i segni di uguale, è pari a 65.536 KB.

Sostituzione dei valori delle variabili di ambiente

Per consentire la sostituzione dei valori delle variabili dalla riga di comando o negli script, racchiudere il nome della variabile tra i simboli di percentuale, ovvero %NomeVariabile%. Utilizzando i simboli di percentuale, Cmd.exe fa riferimento ai valori delle variabili anziché effettuare un confronto letterale. Dopo aver definito i valori per un nome di variabile, racchiudere il nome della variabile tra i simboli di percentuale. Cmd.exe cercherà tutte le istanze del nome della variabile e sostituirà il nome con il valore definito per la variabile. Ad esempio, se si crea uno script contenente diversi valori, quali nomi utente, e si desidera definire la variabile di ambiente USERNAME per ciascun utente con questi valori, è possibile scrivere uno script utilizzando la variabile USERNAME racchiusa tra simboli di percentuale. Quando si esegue questo script, Cmd.exe sostituisce %USERNAME% con i valori della variabile, eliminando quindi la necessità di eseguire questa attività manualmente per ogni utente. La sostituzione delle variabili non è ricorsiva. Cmd.exe controlla le variabili una volta. Per ulteriori informazioni sulla sostituzione delle variabili, vedere For e Call.

Il documento è risultato utile?
(1500 caratteri rimanenti)
Grazie per i commenti inviati.

Aggiunte alla community

Mostra:
© 2015 Microsoft