Ja, soweit mir bekannt geht es nur mit dem for.
Linux ist da wohl was einfacher, aber WinDOS eben nicht so.
Und es ist keine For-Schleife, da schleift nichts. ;)
Es führt halt für jedes Argument die Befehle aus, und da du keinen
Zähler, keine Liste mit Argumenten oder keine Datei mit einer Liste
angibst, wird eben das angegebene Programm ausgeführt und das
"Ergebnis"=die Ausgabe dessen in die Variablen gepackt.
Mit DOS-for kann man schon ne Menge machen, aber ja, die Syntax ist ein
Graus. Ist halt erweitertes DOS von vor 25 Jahren oder so.
Theoretisch gibt es die Variante, die Ausgabe des Programms in eine
Datei zu schreiben und das dann wieder in eine Variable zu laden.
Aber das funktioniert glaub ich nicht mit jedem CMD (irgendeine Option
ist erforderlich) und es braucht eben temporäre Files.