1
Comment y parvenir?Regarder en avant? variables
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%
Sortie prévue:
my header
some text
some more text
end
my header
hello
there
end
sortie maintenant: (valeurs abc et def ne sont pas affichés)
my header
end
my header
end
Merci d'avance! Apprécier toute solution.
Mise à jour: J'écris un script qui résume le résultat de l'exécution et l'affiche sur les premières lignes de sortie, par ex.
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"
Pour autant que je sache, ce ne peut être atteint. –
Est-ce le 'newline' avec lequel vous rencontrez un problème (qui peut être résolu par [la réponse de npocmaka] (https://stackoverflow.com/a/46789104/2096401)), ou de pouvoir modifier ce qui est substitué en 'header' à la volée? (** Astuce **: montrez ce que vous obtenez/décrivez comment c'est mal - ainsi que_ ce que vous voulez/attendez). Si c'est le dernier, je suppose que vous devrez mettre le 'set header = ...' (et éventuellement un 'echo% header%') dans une fonction 'call: doheader' à appeler quand' abc' ou 'def' change. – TripeHound