Вот еще один пример с некоторыми Rem
arks:
@Echo Off
Rem Using delayed expansion is necessary for this task.
SetLocal EnableDelayedExpansion
Rem The two empty lines are necessary to set br to a new line.
Set br=^
Rem Use the variable named br to set a variable named v to a multiline value.
Set "v=1!br!2!br!3"
Rem You can output all variable names beginning with v with their values using the below command.
Set v
Rem You can output the value for the variable named v using the below command.
Echo !v!
Pause
Если вы не можете гарантировать, что переменная с именем v
будет иметь значение:
Чтобы предотвратить вывод четвертой последней строки Environment variable v not defined
, вместо этого следует использовать Set v 2>Nul
.
InДля предотвращения вывода второй последней строки ECHO is off.
вместо этого следует использовать Echo(!v!
.
Чтобы удалить все экземпляры строкового значения !br!
из текущегоСуществующая переменная с именем v
, вам потребуется оператор Call
, чтобы ввести другой уровень синтаксического анализа:
Rem Expand the variable named v and substitute the string value of the variable named br with nothing.
Call Set "v=%%v:!br!=%%"
Rem You can output the new value for the variable named v using the below command.
Echo(!v!
Rem However as Delayed Expansion is no longer necessary, you could instead use.
Echo(%v%