Minulla on Windows .bat-tiedosto, jonka haluaisin hyväksyä käyttäjän syötteen ja käyttää sen jälkeen syötteen tuloksia osana lisäkomentojen kutsua.
Haluaisin esimerkiksi hyväksyä käyttäjältä prosessin ID:n, ajaa jstackin kyseistä ID:tä vastaan ja laittaa jstack-kutsun tulokset tiedostoon. Kun yritän tätä, se ei kuitenkaan toimi.
Tässä on esimerkkibat-tiedoston sisältö:
@echo off
set /p id=Enter ID:
echo %id%
jstack > jstack.txt
ja tässä'on mitä näkyy jstack.txt:ssä:
Syötä ID: Lopeta erätyö (Y/N)?
Kokeile tätä:
@echo off
set /p id="Enter ID: "
Voit sitten käyttää %id%
parametrina toisessa eräajotiedostossa, kuten jstack %id%
.
Esimerkiksi:
set /P id=Enter id:
jstack %id% > jstack.txt
Syntaksi on seuraava: set /p variable=[string]
Tutustu syvällisemmin käyttäjän syötteisiin Windows-käyttöjärjestelmän eri versioiden eräajotiedostojen avulla osoitteessa http://commandwindows.com/batch.htm tai http://www.robvanderwoude.com/userinput.php.
Kun olet asettanut muuttujasi, voit käyttää sitä seuraavalla tavalla.
@echo off
set /p UserInputPath=What Directory would you like?
cd C:\%UserInputPath%
Huomaa %VariableName%
-syntaksi.
En ole varma, onko näin kaikissa Windows-versioissa, mutta XP-koneessa, joka minulla on, minun on käytettävä seuraavaa:
set /p Var1="Prompt String"
Ilman lauseissa olevaa kehotusmerkkijonoa saan erilaisia tuloksia tekstistä riippuen.