Befehl wiederholen, mit neuen Variablen
-
Hi all,
ich bin neu hier und möchte erstmal allen hier ein herzliches Hallo sagen. Durch Google bin ich ständig auf dieses Forum gestoßen und konnte bisher immer antworten durch vorhandene
Thread finden. Leider fand ich zu dem jetzigen Problem keine Antwort, weshalb ich mich dazu entschied, mich hier anzumelden. Ich hoffe, dass ihr auch zu diesem Problem eine Antwort parat habt
Ich möchte gerne einen Befehl ausführen,
es kommt also ein hallo Klaus raus
soweit sogut,
nun möchte ich, dass der Befehl wiederholt wird, und zwar jedes mal mit einer neuen Variable, aus einer Liste, bis alles abgearbeitet ist.
Das ganze sieht momentan so aus:
Momentan, wird der Befehl echo nur einmal ausgeführt, und zwar mit der Variable Klaus.
es wird also nur "hallo Klaus" ausgegeben
Ich möchte aber, dass er den Befehl auch mit der Variable Heinz, Paul und Ulf durchläuft.
also:
hallo Klaus
hallo Heinz
hallo Paul
hallo Ulf
Ich könnte es auch so machen:
nur ist dies etwas überladen, weil jedes mal ein "echo hallo %var%" unter der neuen Variable stehen muss.
Die Variable var muss var bleiben und darf nicht var1, var2, var3 werden. Ich möchte später also einfach weitere werte für diese selbe Variable eingeben können, die Liste also fortzsetzen mit var=Hans, var=Jörg...usw.
Kann man es kompakter Programmieren?
Hi all,
ich bin neu hier und möchte erstmal allen hier ein herzliches Hallo sagen. Durch Google bin ich ständig auf dieses Forum gestoßen und konnte bisher immer antworten durch vorhandene
Thread finden. Leider fand ich zu dem jetzigen Problem keine Antwort, weshalb ich mich dazu entschied, mich hier anzumelden. Ich hoffe, dass ihr auch zu diesem Problem eine Antwort parat habt
Ich möchte gerne einen Befehl ausführen,
set var=klaus
echo hallo %var%
soweit sogut,
nun möchte ich, dass der Befehl wiederholt wird, und zwar jedes mal mit einer neuen Variable, aus einer Liste, bis alles abgearbeitet ist.
Das ganze sieht momentan so aus:
set var=Klaus
set var=Heinz
set var=Paul
set var=Ulf
echo hallo %var%
es wird also nur "hallo Klaus" ausgegeben
Ich möchte aber, dass er den Befehl auch mit der Variable Heinz, Paul und Ulf durchläuft.
also:
hallo Klaus
hallo Heinz
hallo Paul
hallo Ulf
Ich könnte es auch so machen:
set var=Klaus
echo hallo %var%
set var=Heinz
echo hallo %var%
set var=Paul
echo hallo %var%
set var=Ulf
echo hallo %var%
Die Variable var muss var bleiben und darf nicht var1, var2, var3 werden. Ich möchte später also einfach weitere werte für diese selbe Variable eingeben können, die Liste also fortzsetzen mit var=Hans, var=Jörg...usw.
Kann man es kompakter Programmieren?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 172770
Url: https://administrator.de/contentid/172770
Ausgedruckt am: 05.11.2024 um 19:11 Uhr
9 Kommentare
Neuester Kommentar
Hallo, und willkommen im Forum.
Ja, könnte man:
Gruß
Momentan, wird der Befehl echo nur einmal ausgeführt, und zwar mit der Variable Klaus.
Das glaube ich dir nicht: Er wird sicherlich Hallo Ulf ausgeben, denn das ist der letzte Wert, mit dem du var gesetzt hast. Kann man es kompakter Programmieren?
Ja, könnte man:
for %%a in (Klaus Heinz Paul Ulf) do @echo Hallo %%a
Gruß
Man kann aber den gleichen Variablennamen nicht mehrfach mit unterschiedlichen Werten verwenden, ohne dass der vorherige Wert überschrieben wird, also futsch ist.
Du kannst dir die Werte, die du zum Füllen verwenden willst, z. B. in eine Textdatei schreiben und mit einer Schleife abholen, dann kannst du die Variablen neu zuordnen und verwenden.
Eine Alternative und einfacher ist es, für den Reg-Teil ein Unterprogramm über eine Sprungmarke zu verwenden, also nach den Zuweisungen jeweils ein call :wasweissich aufzurufen´, bei deinem Beispiel also nach den Zeilen 3, 7 und 11. Und in der nachfolgenden Zeile rufst du Zeile 13 auf und setzt dort eine passende Sprungmarke.
Ich gehe jetzt erst mal an der Matratze horchen.
Gute Nacht.
Du kannst dir die Werte, die du zum Füllen verwenden willst, z. B. in eine Textdatei schreiben und mit einer Schleife abholen, dann kannst du die Variablen neu zuordnen und verwenden.
Eine Alternative und einfacher ist es, für den Reg-Teil ein Unterprogramm über eine Sprungmarke zu verwenden, also nach den Zuweisungen jeweils ein call :wasweissich aufzurufen´, bei deinem Beispiel also nach den Zeilen 3, 7 und 11. Und in der nachfolgenden Zeile rufst du Zeile 13 auf und setzt dort eine passende Sprungmarke.
Ich gehe jetzt erst mal an der Matratze horchen.
Gute Nacht.
Hi,
Du musst sowohl eine Zeile 21 mit goto :eof anfügen als auch in Zeile 15 den gleichen Befehl einsetzen.
Du musst sowohl eine Zeile 21 mit goto :eof anfügen als auch in Zeile 15 den gleichen Befehl einsetzen.
Aloha,
Nun, um die Forensuche zu nutzen oder einfach mal zwei, drei Threads im B-Bereich hier anzuschauen, muss man kein
sein
greetz André
P.S.: die genannten Befehle
von daher finde ich deine herablassende Bemerkung nicht ganz fair.
Nun, um die Forensuche zu nutzen oder einfach mal zwei, drei Threads im B-Bereich hier anzuschauen, muss man kein
gelernter Programmierer
sein
greetz André
P.S.: die genannten Befehle
assoc
und ftype
sind m.M.n. sinnvoller zu gebrauchen als das manuelle Rumschreiben in der Registry (und Hilfe gibt es zu jedem Befehl per Befehl /?
)