写了一段bat脚本,替换指定文件的特定字符串:
下面是内容: 可以放到其他BAT里面,给定变量值,goto到对应replace块。
@echo off
setlocal enabledelayedexpansion
REM orginalFile原始要操作的文件,单个文件。注:替换的文件中不能有冒号,否则结果不对。或者修改本脚本中for循环的delims=:中冒号为其他在文件中没有出现的符号,其中不能是等于号,<>需要加转义字符^,即写成delims=^<。
set orginalFile=1.jmx
REM outputFile指定替换字符串后,输出的文件
set outputFile=1_new.jmx
REM 要替换的原始字符串
set oldStr=HTTPSampler.port
REM 替换后的字符串
set newStr=HTTPSampler.port_new
REM 指定替换找到的第几个字符串,0是指全部替换
set /a number=0
goto replace
:replace
set /a i=0
for /f "tokens=* delims=:" %%i in (%orginalFile%) do (
set "a=%%i"
if %number% == 0 (
set "b=!a:%oldStr%=%newStr%!"
) else (
set "b=!a!"
if not "!a!" == "!a:%oldStr%=%newStr%!" (
set /a i+=1
if %number% == !i! (
set "b&