Как сохранить результат выражения в переменную в пакетном скрипте Windows?
У меня есть пакетный скрипт Windows, который заменяет \
от _
,
Я хочу знать, что нужно для сохранения результата выражения замены в переменную?
Ниже приведен сценарий, который у меня есть.
FOR /F "tokens=* delims=" %%x in (E:\Windows_Scripts\server.txt) DO (
Set "servername=%%x"
Set "Pattern=\"
Set "Replace=_"
call echo %%servername:%Pattern%=%Replace%%%
)
Я хочу сохранить результат выражения ниже
%%servername:%Pattern%=%Replace%%%
в переменную. Как это может быть сделано?
1 ответ
Решение
Установите переменную на каждой итерации с активированным отложенным расширением!!
@echo off
setlocal enabledelayedexpansion
Set "Pattern=\"
Set "Replace=_"
FOR /F "tokens=*" %%x in (server.txt) DO (
Set "servername=%%x"
Set "$output=!servername:%Pattern%=%Replace%!"
echo !$output!
)