File batch DOS: come scrivere al prompt e rimanere nella stessa riga per inserire il testo

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

  •  03-07-2019
  •  | 
  •  

Domanda

Mi piace sapere se esiste un modo per leggere l'input dell'utente all'interno di un file batch, perché ho un file chiamato: " fif.bat " che riceve due parametri (chiamali semplicemente paramA e paramB ), quindi eseguo il file in questo modo:

fif paramA paramB

Devo cambiare paramA ogni mese, ma chiamo questo file molte volte, quindi mi piace aprire una console e averlo stampato:

fif paramA

Quindi devo solo scrivere paramB e cambiare paramA quando lo voglio.

PD: paramA è molto grande, quindi è molto utile se posso averlo lì invece di scrivere ogni volta. E non voglio creare un altro file batch per chiamare fifit con paramA.

È stato utile?

Soluzione

Penso che questo potrebbe essere quello che stai cercando:

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

La riga uno interrompe l'eco dei comandi nel file batch sulla console La riga due richiede all'utente con " Parametro A: " e attende che l'utente inserisca un valore e premi invio. Il valore entra in una variabile chiamata paramA. La riga tre fa eco al valore della variabile paramA sulla console La riga quattro attende che l'utente prema un tasto qualsiasi.

Nota che il comando SET / p non funziona su tutte le versioni di Windows, credo che sia stato introdotto nel 2000, ma potrei sbagliarmi sulla versione.

Altri suggerimenti

È possibile richiedere l'immissione dell'utente in un file batch utilizzando SET / P ad esempio:

SET /P paramB="Prompt String: "
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top