Anonymer Benutzer
Wie kann ich in Windows cmd nach Benutzereingaben fragen und das Ergebnis in einem anderen Befehl verwenden?
Ich habe eine Windows-Bat-Datei, die Benutzereingaben annehmen und dann die Ergebnisse dieser Eingaben als Teil des Aufrufs weiterer Befehle verwenden soll.
Zum Beispiel möchte ich eine Prozess-ID vom Benutzer akzeptieren und dann jstack mit dieser ID ausführen und die Ergebnisse des jstack-Aufrufs in eine Datei schreiben. Wenn ich dies jedoch versuche, funktioniert es nicht.
Hier's meine Beispiel bat Datei Inhalt:
@echo off
set /p id=Enter ID:
echo %id%
jstack > jstack.txt
und hier's, was in jstack.txt auftaucht:
ID eingeben: Batch-Job beenden (J/N)?
360
3
Versuchen Sie dies:
Sie können dann
%id%
als Parameter für eine andere Batch-Datei wiejstack %id%
verwenden.Beispiel:
Die Syntax lautet wie folgt:
set /p variable=[string]
Einen tieferen Einblick in die Benutzereingabe mit den verschiedenen Versionen von Windows OS Batchdateien finden Sie unter http://commandwindows.com/batch.htm oder http://www.robvanderwoude.com/userinput.php.
Sobald Sie Ihre Variable gesetzt haben, können Sie sie auf folgende Weise verwenden.
Beachten Sie die Syntax "%Variablenname%".
Ich bin mir nicht sicher, ob dies bei allen Windows-Versionen der Fall ist, aber auf dem XP-Rechner, den ich habe, muss ich Folgendes verwenden:
Ohne die Eingabeaufforderung in Anführungszeichen erhalte ich je nach Text unterschiedliche Ergebnisse.