Ich habe ein Problem, das mich dabei beschäftigt. Die Sache, die ich versuche zu tun, listet den Inhalt einer Textdatei (% textfile%) mit einer Nummer vor, die jedes Mal erhöht, wenn eine neue Zeile der Textdatei gedruckt wird, dann diese Nummer der Ausgabe zuweisen. Es muss in Form einer Batchdatei für meine Zwecke vorliegen.Ausgabeinhalt der Textdateivariable in der nummerierten Liste, die in einem Menü verwendet werden soll
Beispiel:
for /f "delims=" %%A in (%textfile%) do (echo %%A & echo.)
Ausgang:
Output1
Output2
Output3
... etc
Was ich tun möchte:
1. Output1
2. Output2
3. Output3
... etc
Dieses in einem Menü verwendet werden soll, die Sie fragt, wählen einer der oben genannten. Wenn Sie 1 auswählen, wird Output1 auf eine Variable gesetzt, die in einem anderen Skript verwendet werden soll.
set /P menuSelect=Please make a selection:
for /f "delims=0-%highestVariable%" %%a in ("%menuSelect%") do echo Incorrect input, press any key to try again & pause>nul & goto :otherFunction
Etwas anderes ich herauszufinden versuche, ist, wie die delimter gleich 0 durch die höchste numerische Ausgabe in dem obigen Code zu setzen. Deshalb setze ich "delims = 0-% highestVariable%".
Also, im Wesentlichen, wie gebe ich den Inhalt der Textdatei mit einer Nummer zugewiesen, dann darf der Benutzer einen der nummerierten Ausgänge auswählen und es einer Variablen zuweisen.
Jede Hilfe wird geschätzt, seit ein paar Tagen darauf festgefahren.
Ich mag dieses und es löst das Problem, sie anzuzeigen (danke für den Tipp auf verzögerte Expansion), aber es stellt nicht jede Auswahl auf eine Variable. Wie würde ich meine Eingabe von 1 gleich machen was auch immer %% A ist neben 1? Durch mein Verständnis, ist es so '1 ausgeben. %% A' '2. %% A' '3. %% A' Wie würde ich es machen '1. %% A' '2. %% B' '3. %% C' so wählt meine Eingabe, was neben der Nummer ist? Tut mir leid, wenn ich keinen Sinn mache und immer noch lerne. –
Vergiss es! Ich löste das, indem ich hinzufügte: 'set txt! NumCount! = %% A 'in dem Befehl FOR. Die Variablen txt1 und txt2 werden korrekt als Optionen 1 und 2 angezeigt. –