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

如某文件夹下,有许多文本文件

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

同时aaa.txt文件中有一行含有aaa也改为aaa#
bbb.txt文件中有一行含有bbb也改为bbb#
ccc.txt文件中有一行含有ccc也改为ccc#
谢谢

@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文件放在一起运行,测试前请备份好原文件

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

请及时采纳回答

请及时采纳回答

请及时采纳回答

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答