Archivos por lotes de DOS: cómo escribir en el indicador y permanecer en la misma línea para ingresar texto

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

  •  03-07-2019
  •  | 
  •  

Pregunta

Me gusta saber si hay una manera de leer la entrada del usuario dentro de un archivo por lotes, porque tengo un archivo llamado: " fif.bat " que recibe dos parámetros (solo llámelos paramA y paramB ) así que ejecuto el archivo así:

fif paramA paramB

Tengo que cambiar el parámetro cada mes, pero muchas veces llamo a este archivo, así que me gusta abrir una consola e imprimir esto:

fif paramA

Así que solo tengo que escribir paramB y cambiar paramA cuando lo desee.

PD: paramA es muy grande, por lo que es muy útil si puedo tenerlo allí en lugar de escribir cada vez. Y no quiero hacer otro archivo por lotes para llamar a quince con paramA.

¿Fue útil?

Solución

Creo que esto podría ser lo que estás buscando:

@ECHO OFF
SET /p paramA=Parameter A:
ECHO you typed %paramA%
PAUSE

La línea uno detiene los comandos en el archivo por lotes para que no se repitan en la consola La línea dos le pregunta al usuario con " Parámetro A: " y espera a que el usuario ingrese un valor y presione enter. El valor entra en una variable llamada paramA. La línea tres refleja el valor de la variable paramA en la consola La línea cuatro espera a que el usuario presione cualquier tecla.

Tenga en cuenta que el comando SET / p no funciona en todas las versiones de Windows, creo que se introdujo en 2000, pero podría estar equivocado en la versión.

Otros consejos

Puede solicitar la entrada del usuario en un archivo por lotes utilizando SET / P por ejemplo:

SET /P paramB="Prompt String: "
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top