51 votes

Est-ce que %* dans un fichier batch signifie tous les arguments de la ligne de commande ?

Fait %* dans le fichier batch, tous les arguments de la ligne de commande ?

68voto

Stephen A. Points 131

Oui. D'après le la documentation officielle de Microsoft :

Le paramètre %* batch est une référence à tous les arguments, à l'exception de %0, qui sont transmis au fichier batch.

0voto

programmer365 Points 1

En outre, un commentaire de @kobkira note que vous ne pouvez prendre qu'un maximum de 9 arguments dans la syntaxe conventionnelle. Par exemple, si vous voulez obtenir n nombre d'arguments dans des variables séparées de type tableau, utilisez cette syntaxe :

@echo off & setlocal enabledelayedexpansion & set "n=30"
for /l %%a in (1,1,%n%) do (
  for /f "tokens=%%a delims= " %%b in ('echo %*') do (
    set "arg[%%~a]=%%~b"
  )
)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X