如何将表达式的结果存储到 Windows 批处理脚本中的变量中?
How to store the result of the expression into a variable in Windows batch script?
我有 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%%%
变成一个变量。如何做到这一点?
在激活延迟扩展的情况下在每次迭代时设置变量!!
@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!
)
我有 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%%%
变成一个变量。如何做到这一点?
在激活延迟扩展的情况下在每次迭代时设置变量!!
@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!
)