写了一段bat脚本,替换指定文件的特定字符串:

下面是内容: 可以放到其他BAT里面,给定变量值,goto到对应replace块。

@echo off
setlocal enabledelayedexpansionREM 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+=1if %number% == !i! (set "b=!a:%oldStr%=%newStr%!")))REM 如果某行内容为空格或多个空格,输出的到文件中的那行内容是echo is on 或者echo is offecho !b!>>%outputFile%
)

也可以把下面内容复制到txt中,另存为replace.bat,双击运行输入对应参数:

@echo off
setlocal enabledelayedexpansionREM orginalFile原始要操作的文件,单个文件。注:替换的文件中不能有冒号,否则结果不对。或者修改本脚本中for循环的delims=:中冒号为其他在文件中没有出现的符号,其中不能是等于号,<>需要加转义字符^,即写成delims=^<。
set /p orginalFile=输入要修改的文件名(包含扩展名):
REM outputFile指定替换字符串后,输出的文件
set /p outputFile=输入输出文件名:
REM 要替换的原始字符串
set /p oldStr=输入要被替换的字符串:
REM 替换后的字符串
set /p newStr=输入替换的字符串:
REM 指定替换找到的第几个字符串,0是指全部替换
set /p number=输入替换找到的第几个字符串(0指全部替换):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+=1if %number% == !i! (set "b=!a:%oldStr%=%newStr%!")))REM 如果某行内容为空格或多个空格,输出的到文件中的那行内容是echo is on 或者echo is offecho !b!>>%outputFile%
)

#######################################################################

2022-05-25 更新:

保留某行为空白行,或某行内容只有空格。bat脚本如下:

@echo off
setlocal enabledelayedexpansionREM orginalFile原始要操作的文件,单个文件。注:替换的文件中不能有冒号,否则结果不对。或者修改本脚本中for循环的delims=:中冒号为其他在文件中没有出现的符号,其中不能是等于号,<>需要加转义字符^,即写成delims=^<。
set orginalFile=test.txt
REM outputFile指定替换字符串后,输出的文件
set outputFile=test_new.txt
REM 要替换的原始字符串
set oldStr=Lee
REM 替换后的字符串
set newStr=Lee_New
REM 指定替换找到的第几个字符串,0是指全部替换
set /a number=0
goto replace:replace
if exist %outputFile% del %outputFile%
set /a i=0
for /f "delims=" %%i in ('findstr /n .* %orginalFile%') do (set "a=%%i"set "a=!a:*:=!"if "!a!"=="" (set "b=!a!") else (if %number% == 0 (set "b=!a:%oldStr%=%newStr%!") else (set "b=!a!"if not "!a!" == "!a:%oldStr%=%newStr%!" (set /a i+=1if %number% == !i! (set "b=!a:%oldStr%=%newStr%!"))))REM 保留空白行,某行内容是空格或多个空格echo.!b!>>%outputFile%
)

测试文件内容:

good morning
this is leenice to meet you  Best Regards
Lee

替换lee成Lee_New,效果如下:

good morning
this is Lee_Newnice to meet you  Best Regards
Lee_New

BAT替换文件中指定字符串相关推荐

  1. 用python中re.sub()替换文件中指定字符串

    用python中re.sub()替换文件中指定字符串 1.正则表达式re.sub()的用法 sub(pattern,repl,string,count=0,flag=0) 1)pattern正则表达式 ...

  2. bat替换文件中的字符串_JavaScript 中替换字符串的几种方法

    // 每日前端夜话 第418篇// 正文共:700 字// 预计阅读时间:5 分钟 替换字符串中的文本是 JavaScript 开发中的常见任务.本文研究几种用 replace 和正则表达式替换文本的 ...

  3. python3查找文件中指定字符串_Python3在指定路径下递归定位文件中出现的字符串...

    [本文出自天外归云的博客园] 脚本功能:在指定的路径下递归搜索,找出指定字符串在文件中出现的位置(行信息). 用到的python特性: 代码如下: import os import sys __all ...

  4. python替换文件内容_Python实现替换文件中指定内容的方法

    本文实例讲述了Python实现替换文件中指定内容的方法.分享给大家供大家参考,具体如下: 这里使用python编写的程序,实现如下功能:将文件中的指定子串 修改为 另外的子串 编写的python程序, ...

  5. java 替换文件中的字符串

    import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.Prin ...

  6. Linux下替换文件中的字符串

    sed -i "s分隔符old_str分隔符new_str分隔符g" 操作的目标文件名 注:分隔符可根据替换的字符串进行任意指定,如下指定为#,也可为其他. 实例一: sed -i ...

  7. python替换文件中的字符串_Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)...

    题目: 1.首先将文件:/etc/selinux/config 进行备份 文件名为 /etc/selinux/config.bak 2.再文件:/etc/selinux/config 中的enforc ...

  8. AIX下批量替换文件中的字符串 linux替换包含换行符的内容

    示例:将所有CPP文件中的__cplusplus替换为 __cplusplus_xsz perl -p -i -e "s/__cplusplus/__cplusplus_xsz/g" ...

  9. 【Linux】查询文件中指定字符串的记录

    语法 cat 文件 |grep 查询字符串 例如现在有文件file.dat,文件中内容如下: zhangsan Lisi wangwu123 wangwu890 zhangsan28290 现在想从文 ...

最新文章

  1. sqlserver用sql语句创建链接服务器
  2. python异常处理_汇总三大python异常处理、自定义异常、断言原理与用法分析
  3. python实现lenet_吴裕雄 python 神经网络TensorFlow实现LeNet模型处理手写数字识别MNIST数据集...
  4. python基础入门--input标签、变量、数字类型、列表、字符串、字典、索引值、bool值、占位符格式输出...
  5. echart data放入数组_线性表(数组、链表、队列、栈)详细总结
  6. vc编译 matlab,精通VC与MATLAB联合编程——编译器的使用
  7. CCF201709-4 通信网络(100分)【DFS+BFS】
  8. java after 函数_函数周期表丨信息丨值丨ISONORAFTER
  9. 张宇真题全解(纯题目)
  10. 数值计算方法第一章—数值计算引论
  11. lavaral中文手册_Laravel 5.8 中文文档手册
  12. html有多少种居中方式,html常用的几种居中方法
  13. 单片机双击 长按 c语言,51单片机按键检测源程序(实现单击、双击、长按等功能)...
  14. jenkins插件安装失败更改插件源
  15. 如何进入华为P40 debug 模式/开发者选项模式
  16. 地产中介门店10用户桌面云方案
  17. vue 全局、局部引入
  18. JAVA EE:1~5章选择题
  19. 为什么ES不适合做数据存储
  20. PHP Fatal error: Uncaught think\\exception\\ErrorException: error_log相关解决方法

热门文章

  1. 上号神器扫码教程,常见问题解答
  2. mysql高可用架构——MMM用群集架构
  3. 大坝安全监测解决方案
  4. 京东数科前端春招面经
  5. 当前版本与卡刷包android_手机端提取Android 8.x及以上版本卡刷包中的system文件
  6. 组建一个计算机网络系统有,组建一个计算机网络一般需要哪些部件
  7. RE模块:Python编译正则的模块
  8. 《看板实战》读书笔记 XMIND版本
  9. ChinaSoft 论坛巡礼 | 群智化软件测试技术和方法
  10. ppt里插入python(code)代码高亮