Que signifie% * dans un fichier de commandes?

J’ai vu l’utilisation de% * dans les fichiers de commandes et les lignes de commande. Googling ne m’a donné aucun résultat. Quelqu’un peut-il expliquer l’utilisation typique de% * avec un exemple.Merci

Cela signifie “tous les parameters de la ligne de commande”.

Par exemple, il est utile lorsque vous souhaitez transférer la ligne de commande de votre fichier de commandes vers un autre programme:

REM mybatchfile.cmd echo You called this with arguments: %* echo I will now forward these to the DIR command. dir %* 

Un point important ne figurant dans aucune des réponses précédentes: %* développe sur tous les parameters à partir de la ligne de commande, même après une opération SHIFT .

Normalement, un SHIFT permet de déplacer le paramètre %2 vers %1 , %3 vers %2 , etc., et %1 n’est plus disponible. Mais %* ignore tout SHIFT , donc la liste complète des parameters est toujours disponible. Cela peut être à la fois une bénédiction et une malédiction.

%* étend la liste complète des arguments transmis au script.

Vous l’utilisez généralement lorsque vous souhaitez appeler un autre programme ou script et transmettre les mêmes arguments que ceux qui ont été transmis à votre script.

“Le modificateur% * est un modificateur unique qui représente tous les arguments transmis dans un fichier batch. Vous ne pouvez pas utiliser ce modificateur en combinaison avec le modificateur% ~. La syntaxe% ~ doit être terminée par une valeur d’argument valide.”

Voir:

  • microsoft.com (défunt)
  • archive.org