如何写BAT 修改指定文件内容,并保存

最好写一下每个命令的解释。
回车怎么输入?

1、首先要创建一个BAT文件BAT文件可以由txt直接修改 只需要修改.txt为.bat即可。

2、右键进入编辑模式 此时bat以txt的方式打开。

3、在txt中输入括号内不需要@echo off <路径显示关闭>,pause<暂停>。

4、进行保存,然后直接运行,如果没有@echo off 你下面的编码会带有文件位置如果没有pause 打开后立刻关闭。

5、按如图方式在原有添加echo 内容 <显示 内容>即如图效果。

6、如果按如图编写方式goto a <到达a处>:a <路标a>即使程序重复显示。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-26
rem 定义变量延迟环境,关闭回显
@echo off&setlocal enabledelayedexpansion
rem 读取a.txt所有内容
for /f "eol=* tokens=*" %%i in (a.txt) do (
rem 设置变量a为每行内容
set a=%%i
rem 如果该行有123,则将其改为456
set "a=!a:123=456!"
rem 把修改后的全部行存入$
echo !a!>>$)
rem 用$的内容替换原来a.txt内容
move $ a.txt

本回答被提问者采纳
第2个回答  2018-09-29
@echo off
chcp 65001
rem 批量替换D:\temp目录下的所有文件,把 “123”替换为“456”
rem tarDir目标目录 strOld原字符串 strNew目标字符串
set tarDir=D:\temp
set strOld=123
set strNew=456
rem 定义变量修改本地化延期
setlocal enabledelayedexpansion
rem 循环取出要处理的文件名
rem for /R %%i in (.,*) do (
for /f "tokens=*" %%i in ('dir %tarDir% /b') do (
set "var=%%i"
if not !var!.==. (
rem 单个文件一行行处理,将旧字段替换成新字段
for /f "tokens=*" %%j in (%tarDir%!var!) do (
set "tmp=%%j"
if not !tmp!.==. (
set "tmp=!tmp:%strOld%=%strNew%!"
rem 将处理后的每一行记录追加到temp.txt文件中
echo !tmp!>>temp.txt
)
)
rem 在单个文件的每一行经过替换操作后,将处理后的文本从temp.txt临时文件剪贴到目标处理文件中(剪贴后临时文件会自动删除)
move temp.txt %tarDir%!var!
)
)
相似回答