bat脚本修改文件内容
创建bat脚本
新建一个脚本文件 updateFileContent.bat
%关闭回显,设置延迟环境变量扩展%
@echo off&setlocal enabledelayedexpansionrem 计算调用的参数个数
for %%a in (%*) do set /a num+=1
if defined num (echo 调用了 %num% 个参数) else echo 没有调用任何参数set fileName=%1
set oldText=%2
set newText=%3rem 参数个数小于3个提示用户
if num lss 3 (goto :errArgsTip
) rem 参数个数大于等于4个设置featureText变量
if num geq 4 (set featureText=%4
)echo fileName=%fileName% oldText=%oldText% newText=%newText% if defined featureText (echo featureText=%featureText%)for /f "delims=" %%a in ('findstr /n .* %fileName%') do (set "str=%%a"rem 替换内容if defined featureText (rem 查找每行字符串是否包含指定的特征字符,只对包含特征字符的行替换文本echo !str!| findstr %featureText% >nul && (set "str=!str:%oldText%=%newText%!")) else (set "str=!str:%oldText%=%newText%!")rem 将添加了行号的文本写入临时文件echo !str! >>tmp.txt
)
for /f "tokens=1* delims=:" %%i in ('type tmp.txt') do (rem 按 : 分割每行字符串set "str=%%j"if "!str!"==" " (rem 写入源文件里的空行call echo.>>new_A.txt) else (rem 将字符串写入文本,每行会多一个空格,使用字符串的截取功能去掉末尾的一个空格echo !str:~0,-1!>>new_A.txt)
)rem 删除临时文件并将修改后的文件修改为源文件
del tmp.txt&move new_A.txt %fileName%goto :end:errArgsTipecho --------------------------------------------------------------------------------echo -- 请输入正确的参数:fileName oldText newText [featureText]echo -- fileName:待修改文件的文件名echo -- oldText:待修改的文本echo -- newText:替换后的文本echo -- featureText:待修改文本所在行的特性字符,用于定位修改文本所在的行,可选参数echo --------------------------------------------------------------------------------:endrem 执行完脚本要将num变量取消,以免影响下次执行set num=
测试
准备测试文件 test.txt
你好: chinatest=helloyear=hello
测试用例一
执行指令:
D:\bat>updateFileContent.bat test.txt hello word
调用了 3 个参数
fileName=test.txt oldText=hello newText=word
移动了 1 个文件。
D:\bat>
执行结果:
你好: chinatest=wordyear=word
测试用例二
执行指令:
D:\bat>updateFileContent.bat test.txt hello word year
调用了 4 个参数
fileName=test.txt oldText=hello newText=word
featureText=year
移动了 1 个文件。
D:\bat>
执行结果:
你好: chinatest=helloyear=word
参考文献:
批处理(bat)脚本语言—SET命令和变量使用
bat文件修改或替换文件内容
bat脚本修改文件内容相关推荐
- bat批量修改文件内容
说明: 主要功能: 遍历某目录下所有文件,将制定的文字替换成目标文字. 使用步骤: 1.双击运行moreFileUpdate.bat批量修改目录下的所有文件. 编写注意点: 中文放入变量中需注意转为A ...
- bat 批量修改文件内容
:::::批量修改文件内容.bat::::: @echo off :: 开启变量延迟扩展 setlocal EnableDelayedExpansion :: 输入开始 :inputFilePath ...
- bat批处理修改文件夹下文件名字
bat批处理修改文件夹下文件名字 业务场景 有时候我们经常会遇到需要批量处理一些文本或者文件名称的问题,批量文本的处理可以使用notepad++ 里面的列编辑,或者批量替换字符串即可.假如有这样一个要 ...
- 批量修改文件内容(Python版)
目录 前言 一.为什么选择 python 二.使用步骤 1.搜索 2.替换 3 整合 4 脚本使用 前言 接上文 批量修改文件内容 一.为什么选择 python 近年来 Python 的使用率越来越高 ...
- linux中vi修改文件内容,linux VI模式下批量修改文件内容
1. :s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行所有 vivian 为 sky 2. :n,$ ...
- linux修改程序文件内容,linux 批量修改文件内容
如果有批量修改文件内容的需求,可参考下面这些方法 1.批量查找某个目下文件的包含的内容,例如: # grep -rn或l "要找查找的文本" 路径或文件 rn表示匹配查找字符 ...
- python修改文件内容_python批量修改文件夹及其子文件夹下的文件内容
前言:前几天我看一位同学要修改很多文件中的数据,该文件数据很规律,一行只有三个数,需要将每行最后一个数字改为负数,但文件有上千个,分布在每个文件夹下面以及它的多级子文件夹下,看他用excel手动改数据 ...
- unix下以十六进制形式修改文件内容
本帖子转自:echoaix 嘟嘟之家 http://blog.chinaunix.net/u/10212/showart.php?id=88834 向echoaix这位sybase 高手表示感谢. ...
- 用python修改文件内容修改txt内容的3种方法
用python修改文件内容修改txt内容的3种方法 方法一.修改原文件方式 def updateFile(file,old_str,new_str):"""替换文件中的字 ...
- python修改文件内容,不需要read,write多个动作。
python 要修改文件内容,常用 是先read,后write , 再 rename,很不爽. 比如:需要 把 yuv_dir ="../HD/" # " ...
最新文章
- SVN禁止提交部分文件
- 使用Jmeter 创建Post请求
- 再见,余!额!宝!!!
- ODrive踩坑(一)windows下使用环境的搭建,odrivetool及USB驱动的安装
- 敏捷领导力的反面模式
- javaSE基础之字符串
- STM32外设驱动总结(公司项目需要)
- webgame《天龙诀》完整网页游戏源码
- HCIE 数通资料下载 肖哥视频下载
- Windows副本不是正版
- java 之DelayQueue实际运用示例
- html 图片加载 占位,css实现图片未加载完成时占位显示
- 汉诺塔python创新设计_递归经典案例汉诺塔 python实现
- SIwave仿真手册——软件基础(一)
- LSM6DS3(六轴传感器)STM32驱动及6D功能实现
- 使用视频监控摄像头的语音对讲功能,在视频平台,配置符合GB28181协议国标视频对讲
- RK系列SDK -- dummy codec虚拟声卡注册
- 我在华为的一次面试经历
- DataSet数据集
- 技术人攻略访谈三十九-HTML5社区田爱娜:女神哪有天生,坚守就是一切