批处理文件 - 从文件中替换令牌

时间:2018-01-02 19:24:45

标签: batch-file

我有一个包含一些令牌的简单文本文件

This is ${token1} and this is ${token2}

另一个带有令牌值的文件,如

token1=me
token2=my brother

我找到了一种方法来实现这一点,使用java代码和名为freemarker的库 我想知道使用批处理命令是否足够简单?

1 个答案:

答案 0 :(得分:1)

使用replacer.bat(它应该与脚本下面的目录相同):

@echo off
setlocal 
set "textFile=C:\text.txt"
set "propertiesFile=C:\properties.txt"

for /f "usebackq tokens=1* delims==" %%a in ("%propertiesFile%") do (
  call replacer.bat "%textFile%" "${%%a}" "%%b"
)

endlocal

使用powershell:

@echo off
setlocal 
set "textFile=C:\text.txt"
set "propertiesFile=C:\properties.txt"

for /f "usebackq tokens=1* delims==" %%a in ("%propertiesFile%") do (
  powershell "(Get-Content '%textFile%') -replace '\$\{%%a\}', '%%b' | Set-Content '%textFile%'"
)

endlocal