跪求批处理命令,希望处理多个文本文件,每个文件除第一行外,每行前后加特定字符
例如:a.txt内容如下:111111222222333333444444处理后的结果为:111111<p>222222</p><p>333333</p><p>44444...
例如:a.txt内容如下:
111111
222222
333333
444444
处理后的结果为:
111111
<p>222222</p>
<p>333333</p>
<p>444444</p>
注:须要处理N个文件,不是一个! 展开
111111
222222
333333
444444
处理后的结果为:
111111
<p>222222</p>
<p>333333</p>
<p>444444</p>
注:须要处理N个文件,不是一个! 展开
展开全部
先建立一个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去掉就行了。
追问
谢谢您的解答。代码测试可行。就是能不能简化一下,直接处理文件,而不是把要处理的文件名放入filelist.txt里面。如果有上万个文件要处理的话,这也会是一件很头疼的工作。。。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询