Flux RSS - La vie du site - Nouveautés et mises à jour
Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

call : Appel d'un fichier de commandes depuis un autre

Commande Windows call : Appelle un fichier de commandes à partir d’un autre fichier de commandes. « call » est un programme de traitement par lots (« batch ») à partir d’un autre « batch » sans arrêter le « batch » parent. La commande « call » accepte des étiquettes en tant que cible dans le « batch » appelé.

04.03.2023 : Pierre Pinard.

Commande Windows call : Appelle un fichier de commandes à partir d’un autre fichier de commandes.

Commande Windows CALL :

« call » est un programme de traitement par lots (« batch ») à partir d’un autre « batch » sans arrêter le « batch » parent. La commande « call » accepte des étiquettes en tant que cible dans le « batch » appelé.

Commande Windows CALLObjectif de la commande Windows CALL

La commande « call » introduite dans un programme de traitement par lots (« batch ») permet d’appeler un autre « batch », voire un point d’entrée (une étiquette) dans un autre « batch » sans arrêter le « batch » parent.

« call » n’a aucun effet à l’invite de commandes lorsqu’il est utilisé en dehors d’un script ou d’un fichier de commandes.

« call » n'est pas reconnu sous Invite de commande ou PowerShell.

Syntaxe de la commande Windows CALLSyntaxe de la commande Windows CALL

call [drive:][path]<filename> [<batchparameters>] [:<label> [<arguments>]]

Mode d'emploi de la commande Windows (Commutateurs - Paramètres - Switchs)CALLMode d'emploi de la commande Windows CALL (Commutateurs - Paramètres - Switchs)

Paramètre

Description

[<drive>:][<path>]<filename>

Spécifie l’emplacement et le nom du programme de traitement par lots que vous souhaitez appeler. Le paramètre <filename> est obligatoire et doit avoir une extension .bat ou .cmd.

<batchparameters>

Spécifie les informations de ligne de commande requises par le programme de traitement par lots (« batch ») appelé.

:<label>

Spécifie l’étiquette à laquelle vous souhaitez qu’un contrôle de programme de traitement par lots accède.

<arguments>

Spécifie les informations de ligne de commande à passer à la nouvelle instance du programme de traitement par lots, en commençant à :<label> .

/?

Affiche l'aide à l'invite de commandes.


Paramètres du lot

Les références de l’argument de script batch (%0, %1,...) sont répertoriées dans les tableaux suivants.

L’utilisation de la valeur % * dans un script de commandes fait référence à tous les arguments (par exemple, %1, %2, %3...).

Vous pouvez utiliser les syntaxes facultatives suivantes comme substitutions pour les paramètres de lot (% n) :

Paramètres du lot

Paramètre batch

Description

% ~ 1

Développe %1 et supprime les guillemets autour.

% ~ F1

Développe %1 vers un chemin d’accès complet.

% ~ D1

Développe %1 vers une lettre de lecteur uniquement.

% ~ P1

Développe %1 vers un chemin d’accès uniquement.

% ~ N1

Développe %1 à un nom de fichier uniquement.

% ~ x1

Développe %1 vers une extension de nom de fichier uniquement.

% ~ S1

Développe %1 vers un chemin d’accès complet qui contient uniquement des noms courts.

% ~ a1

Développe %1 vers les attributs du fichier.

% ~ T1

Développe %1 jusqu’à la date et à l’heure du fichier.

% ~ Z1

Développe %1 jusqu’à la taille du fichier.

% ~ $PATH : 1

Recherche dans les répertoires figurant dans la variable d’environnement PATH et développe %1 avec le nom complet du premier répertoire trouvé. Si le nom de la variable d’environnement n’est pas défini ou si le fichier est introuvable par la recherche, ce modificateur se développe en une chaîne vide.


Le tableau suivant montre comment combiner des modificateurs avec les paramètres de lot pour les résultats composés :

Table 3

Paramètre batch avec modificateur

Description

% ~ DP1

Développe %1 en une lettre de lecteur et un chemin d’accès uniquement.

% ~ NX1

Développe %1 vers un nom de fichier et une extension uniquement.

% ~ DP $ chemin : 1

Recherche dans les répertoires figurant dans la variable d’environnement PATH pour %1, puis développe la lettre de lecteur et le chemin d’accès du premier répertoire trouvé.

% ~ ftza1

Développe %1 pour afficher une sortie similaire à la commande dir.


Dans les exemples ci-dessus, %1 et Path peuvent être remplacés par d’autres valeurs valides. La syntaxe %~ se termine par un numéro d’argument valide. Les %~ modificateurs ne peuvent pas être utilisés avec % *.

Notes

  • Utilisation des paramètres de lot :

    Les paramètres de lot peuvent contenir toutes les informations que vous pouvez transmettre à un programme de traitement par lots, y compris les options de ligne de commande, les noms de fichiers, les paramètres de lot %0 à %9et les variables (par exemple, % Baud%).

  • Utilisation du <label> paramètre :

    En utilisant Call avec le <label> paramètre, vous créez un nouveau contexte de fichier de commandes et vous transmettez le contrôle à l’instruction après l’étiquette spécifiée. La première fois que la fin du fichier de commandes est rencontrée (autrement dit, après avoir atteint l’étiquette), le contrôle retourne à l’instruction après l’instruction Call . La deuxième fois que la fin du fichier de commandes est rencontrée, le script de traitement est fermé.

  • Utilisation de canaux et de symboles de redirection :

    N’utilisez pas de canaux (|) ou de symboles de redirection (< ou >) avec call.

  • Exécution d’un appel récursif

    Vous pouvez créer un programme de traitement par lots qui s’appelle lui-même. Toutefois, vous devez fournir une condition de sortie. Dans le cas contraire, les programmes de traitement par lots parent et enfant peuvent tourner en boucles infinies.

  • Utilisation des extensions de commande

    Si les extensions de commande sont activées, call accepte <label> en tant que cible de l’appel. La syntaxe correcte est call :<label> <arguments>

Commande Windows - call
Commande Windows - « call » sous CMD

Commande Windows - call
Commande Windows - « call » sous PowerShell

Exemple(s) d'utilisation(s) de la commande Windows CALLExemple(s) d'utilisation(s) de la commande Windows CALL

Pour exécuter le programme checknew.bat à partir d’un autre programme de traitement par lots, tapez la commande suivante dans le programme de traitement par lots parent :

call checknew

Si le programme de traitement par lots parent accepte deux paramètres de lot et que vous souhaitez qu’il transmette ces paramètres à checknew.bat, tapez la commande suivante dans le programme de traitement par lots parent :

call checknew %1 %2




L'« Invite de commande » et « PowerShell » sont des fonctionnalités incluses dans Windows. Elles offrent un point d'entrée pour la saisie de commandes de type MS-DOS (Microsoft Disk Operating System) et d'autres commandes, ce qui permet d'effectuer des tâches sur l'appareil sans utiliser l'interface graphique Windows.

Selon ce que vous aurez à faire dans l'Invite de commandes (ou PowerShell) :

L'Invite de commande ou PowerShell démarrent dans le répertoire courant. Il faut éventuellement changer de répertoire, avec la commande CD - Change Directory ou CHDir - Change Directory pour atteindre celui recherché.

[1Notations utilisées dans la syntaxe de toutes les commande Windows

# # # # # # # # # # # # # # # # # # # # # # # # # # # #
  1.  [1] Le tableau suivant décrit les notations utilisées dans la syntaxe de toutes les commande Windows.

    Notation

    Signification

    /?

    Utilisé après le nom de la commande, séparé par un espace, affiche l'aide (le mode d'emploi) de la commande (syntaxe et signification des divers commutateurs [switchs]).

    Texte sans parenthèses ni accolades

    Articles que vous devez taper comme indiqué

    <Texte entre chevrons>

    Espace réservé pour lequel vous devez fournir une valeur

    [Texte entre crochets]

    Éléments facultatifs

    {Texte à l'intérieur d'accolades}

    Ensemble d'éléments requis; choisissez-en un

    Barre verticale (|)

    Séparateur pour les articles mutuellement exclusifs; choisissez-en un

    Ellipse (…)

    Articles pouvant être répétés

call - Références