1
Wie erreichen Sie das?Batch-Vorschau? Variablen
set newline=^& echo.
set header=my header^%newline% %abc%^%newline%%def%^%newline%end
...
set abc=some text
set def=some more text
echo %header%
...
set abc=hello
set def=there
echo %header%
Erwartete Ausgabe:
my header
some text
some more text
end
my header
hello
there
end
Output jetzt: (abc und def Werte nicht angezeigt werden)
my header
end
my header
end
Vielen Dank im Voraus! Schätze jede Lösung.
Update: Ich schreibe ein Skript, das das Ausführungsergebnis zusammenfasst und dies in den ersten Zeilen der Ausgabe, z.
c:\> myScript.bat
----------------------------------------
Execution failed with cmd1=UP, cmd2=DOWN
cmd2 failed
----------------------------------------
COMMAND: cmd1
[output of cmd1]
cmd1 result is "UP"
COMMAND: cmd2
[outout of cmd2]
cmd2 result is "DOWN"
Soweit ich weiß, kann dies nicht erreicht werden. –
Ist es die 'Newline', mit der Sie ein Problem haben (die möglicherweise von [npocmakas Antwort] (https://Stackoverflow.com/a/46789104/2096401) behoben wird) oder um zu ändern, was ersetzt wird in 'header' im laufenden Betrieb? (** Tipp **: zeige, was du bekommst/beschreibe, wie es falsch ist _ und zeige, was du willst/erwartest). Wenn es Letzteres ist, vermute ich, dass Sie die 'set header = ...' (und möglicherweise eine 'echo% header%') in eine 'call: doheader' Funktion setzen müssen, die immer dann aufgerufen wird, wenn' abc' oder 'def' ändert sich. – TripeHound