如何利用BAT批处理修改文件名及文件中内容??

如某文件夹下,有许多文本文件aaa.txtbbb.txtccc.txt.....改名为aaa#.txtbbb#.txtccc#.txt同时aaa.txt文件中有一行含有a... 如某文件夹下,有许多文本文件

aaa.txt
bbb.txt
ccc.txt
.....
改名为aaa#.txt
bbb#.txt
ccc#.txt

同时aaa.txt文件中有一行含有aaa也改为aaa#
bbb.txt文件中有一行含有bbb也改为bbb#
ccc.txt文件中有一行含有ccc也改为ccc#
谢谢
展开
 我来答
qop_dob
2015-01-23 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.3万
采纳率:79%
帮助的人:4067万
展开全部
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /b *.txt') do (
for /f "delims=" %%b in ('type "%%a"') do (
set "word1=%%b"
set "word1=!word1:%%~na=%%~na#!"
echo,!word1!>>%%~na#.txt

del %%a /f /q 2
)
pause

注:把批处理文件跟txt文件放在一起运行,测试前请备份好原文件

您的采纳是我们的动力和鼓励,请及时点击【采纳回答】

更多追问追答
追问
有一遗憾:
1:txt中原空格行会被删除掉,能否继续保留,原空行修改后还是空行;
2:此批文件用于XML文件改名和改文件内容可以吗??
追答

1、已对空行进行处理

2、可以,只要是纯文本文档都可以

@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /b *.txt') do (
for /f "tokens=1* delims=:" %%b in ('findstr /n .* %%a') do (
set "word1=%%c"
if "!word1!" neq "" (set "word1=!word1:%%~na=%%~na#!")
echo.!word1!>>%%~na#.txt

del %%a /f /q 2>nul
)
pause

注:把批处理文件跟txt文件放在一起运行,测试前请备份好原文件

您的采纳是我们的动力和鼓励,请及时点击【采纳回答】

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式