Fichiers de commandes DOS: comment écrire dans l'invite et rester sur la même ligne pour saisir du texte
-
03-07-2019 - |
Question
Je voudrais savoir s’il existe un moyen de lire la saisie de l’utilisateur dans un fichier batch, car j’ai un fichier nommé: "fif.bat". qui recives deux paramètres (appelez-les simplement paramA et paramB ) afin d'exécuter le fichier comme suit:
fif paramA paramB
Je dois changer paramA tous les mois, mais j’appelle souvent ce fichier, j’aime donc ouvrir une console et l’avoir imprimée:
fif paramA
Je n'ai donc qu'à écrire paramB et changer paramA quand je le veux.
PD: paramA est très volumineux, c’est donc très utile si je peux l’avoir là au lieu d’écrire à chaque fois Et je ne veux pas faire un autre fichier batch pour appeler fif whit paramA.
La solution
Je pense que c'est peut-être ce que vous recherchez:
@ECHO OFF
SET /p paramA=Parameter A:
ECHO you typed %paramA%
PAUSE
La ligne 1 empêche les commandes du fichier de commandes d'être renvoyées à la console La deuxième ligne invite l’utilisateur avec " Paramètre A: " et attend que l'utilisateur entre une valeur et appuyez sur Entrée. La valeur va dans une variable appelée paramA. La ligne trois renvoie à la console la valeur de la variable paramA La ligne quatre attend que l'utilisateur appuie sur une touche.
Notez que la commande SET / p ne fonctionne pas sur toutes les versions de Windows. Je pense qu’elle a été introduite en 2000, mais je peux me tromper avec cette version.
Autres conseils
Vous pouvez demander à l'utilisateur de saisir un fichier de commandes en utilisant SET / P
, par exemple:
SET /P paramB="Prompt String: "