如何将表达式的结果存储到Windows批处理脚本中的变量中?

时间:2018-08-01 10:53:11

标签: batch-file windows-scripting

我有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 个答案:

答案 0 :(得分: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!
)