如何利用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#
谢谢 展开
aaa.txt
bbb.txt
ccc.txt
.....
改名为aaa#.txt
bbb#.txt
ccc#.txt
同时aaa.txt文件中有一行含有aaa也改为aaa#
bbb.txt文件中有一行含有bbb也改为bbb#
ccc.txt文件中有一行含有ccc也改为ccc#
谢谢 展开
1个回答
展开全部
@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文件放在一起运行,测试前请备份好原文件
您的采纳是我们的动力和鼓励,请及时点击【采纳回答】
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询