Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Chiama un programma batch da un altro senza arrestare il programma batch padre. Il comando di chiamata accetta etichette come destinazione della chiamata.
Annotazioni
La chiamata non ha alcun effetto al prompt dei comandi quando viene usata all'esterno di uno script o di un file batch.
Sintassi
call [drive:][path]<filename> [<batchparameters>]]
call [:<label> [<arguments>]]
Parametri
Parametro | Descrizione |
---|---|
[<drive>:][<path>]<filename> |
Specifica il percorso e il nome del programma batch che si desidera chiamare. Il <filename> parametro è obbligatorio e deve avere un'estensione .bat o .cmd. |
<batchparameters> |
Specifica le informazioni della riga di comando richieste dal programma batch. |
:<label> |
Specifica l'etichetta a cui si vuole passare un controllo programma batch. |
<arguments> |
Specifica le informazioni della riga di comando da passare alla nuova istanza del programma batch, a partire da :<label> . |
/? | Visualizza la guida al prompt dei comandi. |
Parametri di Batch
I riferimenti agli argomenti dello script batch (%0, %1, ...) sono elencati nelle tabelle seguenti.
L'uso del %* valore in uno script batch fa riferimento a tutti gli argomenti , ad esempio %1, %2, %3...).
È possibile usare le sintassi facoltative seguenti come sostituzioni per i parametri batch (%n):
Parametro batch | Descrizione |
---|---|
%~1 | Espande %1 e rimuove le virgolette circostanti. |
%~f1 | Espande %1 a un percorso completo. |
%~d1 | Espande %1 solo a una lettera di unità. |
%~p1 | Espande %1 solo in un percorso. |
%~n1 | Espande %1 solo in un nome di file. |
%~x1 | Espande %1 solo in un'estensione di file. |
%~s1 | Espande %1 in un percorso completo che contiene solo nomi brevi. |
%~a1 | Espande %1 agli attributi del file. |
%~t1 | Espande %1 alla data e all'ora del file. |
%~z1 | Espande %1 fino alle dimensioni del file. |
%~$PATH:1 | Cerca le directory elencate nella variabile di ambiente PATH ed espande %1 al nome completo della prima directory trovata. Se il nome della variabile di ambiente non è definito o il file non viene trovato dalla ricerca, questo modificatore si espande alla stringa vuota. |
La tabella seguente illustra come combinare i modificatori con i parametri batch per i risultati composti:
Parametro batch con modificatore | Descrizione |
---|---|
%~dp1 | Espande %1 solo a una lettera di unità e a un percorso. |
%~nx1 | Espande %1 solo in un nome di file e un'estensione. |
%~dp$PERCORSO:1 | Cerca le directory elencate nella variabile di ambiente PATH per %1e quindi si espande alla lettera di unità e al percorso della prima directory trovata. |
%~FTZA1 | Espande %1 per visualizzare l'output simile al comando dir . |
Negli esempi precedenti %1 e PATH possono essere sostituiti da altri valori validi. La %~ sintassi viene terminata da un numero di argomento valido. I %~ modificatori non possono essere usati con %*.
Osservazioni:
Uso dei parametri batch:
I parametri batch possono contenere tutte le informazioni che è possibile passare a un programma batch, tra cui opzioni della riga di comando, nomi di file, parametri batch %0 tramite %9e variabili (ad esempio, %baud%).
Uso del
<label>
parametro :Usando la chiamata con il
<label>
parametro , si crea un nuovo contesto di file batch e si passa il controllo all'istruzione dopo l'etichetta specificata. La prima volta che viene rilevata la fine del file batch, ovvero dopo il passaggio all'etichetta, il controllo torna all'istruzione dopo l'istruzione di chiamata . La seconda volta che viene rilevata la fine del file batch, lo script batch viene chiuso.Uso di pipe e simboli di reindirizzamento:
Non usare pipe
(|)
o simboli di reindirizzamento (<
o>
) con chiamata.Esecuzione di una chiamata ricorsiva
È possibile creare un programma batch che chiama se stesso. Tuttavia, è necessario fornire una condizione di uscita. In caso contrario, i programmi batch padre e figlio possono eseguire cicli senza fine.
Uso delle estensioni dei comandi
Se le estensioni dei comandi sono abilitate, la chiamata accetta
<label>
come destinazione della chiamata. La sintassi corretta ècall :<label> <arguments>
.
Esempi
Per eseguire il programma checknew.bat da un altro programma batch, digitare il comando seguente nel programma batch padre:
call checknew
Se il programma batch padre accetta due parametri batch e si vuole che passi tali parametri a checknew.bat, digitare il comando seguente nel programma batch padre:
call checknew %1 %2