496 votes

Dans la commande cmd de Windows, comment puis-je demander à l'utilisateur de saisir des données et utiliser le résultat dans une autre commande ?

J'ai un fichier Windows .bat dans lequel j'aimerais accepter les entrées de l'utilisateur et utiliser les résultats de ces entrées dans le cadre de l'appel de commandes supplémentaires.

Par exemple, j'aimerais accepter un ID de processus de la part de l'utilisateur, puis exécuter jstack par rapport à cet ID, en plaçant les résultats de l'appel jstack dans un fichier. Cependant, lorsque j'essaie cela, cela ne fonctionne pas.

Voici le contenu de mon exemple de fichier bat :

@echo off
set /p id=Enter ID: 
echo %id%
jstack > jstack.txt

et voici ce qui apparaît dans jstack.txt :

Enter ID: Terminate batch job (Y/N)?

3voto

SRE Points 21

Les signes de dollar autour de la variable ne fonctionnent pas sur mon ordinateur Vista, mais les signes de pourcentage fonctionnent. Notez également qu'un espace à la fin de la ligne "set" apparaîtra entre l'invite et l'entrée de l'utilisateur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X