批处理修改多文本的文件名为第一行的指定字符的前几个字
我有一批以数字序列(1--无穷大)命名的txt文档,现在想把他文件名更改为第一行的“:”符号前的几个字为文件名,当有同名文件时则合并到一个文件,当第一行没有“:”符号的则...
我有一批以数字序列(1--无穷大)命名的txt文档,现在想把他文件名更改为第一行的“:”符号前的几个字为文件名,当有同名文件时则合并到一个文件,当第一行没有“:”符号的则不修改,求大神指导,在线等
展开
1个回答
展开全部
先建立一个filelist.txt,把要处理的文件每个1行填在里面。然后,把下面的批处理存为addtag.bat,把filelist.txt和addtag.bat都放在要处理的文件夹下,然后双击运行。
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in (filelist.txt) do (
set fn=%%i
echo %%i
set ln=1
for /f "delims=" %%j in (!fn!) do (
echo %%j
if !ln!==1 (
echo %%j>>_!fn!
set ln=2
) else (
echo ^<p^>%%j^</p^>>>_!fn!
)
)
rem del /f %%i
rem ren _%%i %%i
)
按这个批处理处理后,所有的生成文件都会存为“_原文件名”,如果您确定不需要保存原始文件,那就把最后两句的rem去掉就行了。
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in (filelist.txt) do (
set fn=%%i
echo %%i
set ln=1
for /f "delims=" %%j in (!fn!) do (
echo %%j
if !ln!==1 (
echo %%j>>_!fn!
set ln=2
) else (
echo ^<p^>%%j^</p^>>>_!fn!
)
)
rem del /f %%i
rem ren _%%i %%i
)
按这个批处理处理后,所有的生成文件都会存为“_原文件名”,如果您确定不需要保存原始文件,那就把最后两句的rem去掉就行了。
追问
师傅,先谢谢你,但是不行,没有预期的结果,没有任何变化!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询