Fichiers de commandes DOS: comment écrire dans l'invite et rester sur la même ligne pour saisir du texte

StackOverflow https://stackoverflow.com/questions/205440

  •  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.

Était-ce utile?

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: "
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top