bat递归更改.txt文件中的词语

博主因基础不足走了弯路,分享成功的bat脚本。先介绍写简单递归打印目录下所有txt文件名,再说明简单更改txt文件内容,将124.txt里的hate改为love,最后将两者合并,实现指定目录下txt文件中hate改love,且实测可用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于自身基础不是很好,导致走了很多弯路;接下来分享一下成功的bat脚本;
发现问题:递归(for /r语句),更改(set语句)
1、写一个简单的递归:打印出目录下所有的.txt文件名字;

@echo off
set /p choice=输入当前文件夹下面目录名:
setlocal enabledelayedexpansion
for /r ./%choice% %%i in (*.txt)  do (
	set par=%%i
	echo !par!
)
pause

2、写一个简单的更改.txt文件中的内容:更改文件124.txt文件中的hate为love;

@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in (F:\学习\124.txt) do (
	set "tmp=%%i"
	echo 替换前的值:!tmp!
	set "var=!tmp:hate=love!"
	echo 替换后的值:!var!
	echo !var!>>temp.txt	
)
copy temp.txt F:\学习\124.txt
del temp.txt 	
pause

其中124.txt内容中有hate就好;
F:\学习\124.txt为我的目录;
3、将两个进行合并:将指定目录下的txt文件中的hate改为love

@echo off
set /p choice=输入当前文件夹下面目录名:
setlocal enabledelayedexpansion
for /r ./%choice% %%i in (*.txt)  do (
	set par=%%i
	echo !par!
	echo 当前盘符和路径:%~dp0
	for /f "tokens=*" %%i in (!par!) do (
		set "tmp=%%i"
		set "var=!tmp:hate=love!"
		echo !var!>>temp.txt	
	)
copy temp.txt !par!
del temp.txt 	
)
pause

实测可用;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值