说到批量转html文件,相信喜欢看小说或经常制作电子书和教程的朋友应该很熟悉。因为,我们每次都会面临成千上万的txt文件,要将其转换为能正确显示的html文件是很麻烦的。当然,现在有很多的软件也可以实现,但本人也下了很多的软件,试了很多次,结果也令人不甚满意。因此,我就自己动手制作了一个批处理来解决这个问题,现在给大家分享一下。
我们这个批处工具在转换为HTML格式后仍以原文件名进行保存,且默认第一行为标题行和网页名称!因此请确保所有TXT文件第一行都有标题,否则第一段就会成为标题。
为保证转换结果不会出现乱码,在进行转换前我们要确定转换前的TXT文件的编码为UTF-8,因为UTF-8是网页的通用格式,很多浏览器默认都是以UTF-8的编码格式打开的。如果你的所有TXT文件都是GB2312编码的,我会在下一篇文章中发表GB2312转UTF-8的批处理,请期待,这里就不作赘述了。
回归正题,请将以下代码(分割线以下)复制到一个记事本中,另存为“TXT批量转HTML工具.bat”
---------------------分割线 ---------------------
@echo off
set utf8=65001
set ansi=936
chcp %utf8%
for /f "delims=" %%i in ('dir /b *.txt') do (
findstr /n .* "%%i" >.tmp
(
echo ^<html^>
echo ^<head^>
echo ^<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /^>
echo ^<meta name="GENERATOR" content="Microsoft FrontPage 4.0" /^>
echo ^<meta name="ProgId" content="FrontPage.Editor.Document" /^>
setlocal enabledelayedexpansion
for /r %%a in (*.tmp) do (
set /p Str=<"%%~a"
echo ^<title^>!str:*:=!^</title^>
)
EndLocal
echo ^</head^>
echo ^<body^>
setlocal enabledelayedexpansion
for /r %%a in (*.tmp) do (
set /p Str=<"%%~a"
echo ^<h1^>!str:*:=!^</h1^>
)
EndLocal
for /f "skip=1 delims=" %%i in (.tmp) do (
set str=%%i
SetLocal EnableDelayedExpansion
echo !str:*:=!^<br^>
EndLocal
)
echo ^</body^>
echo ^</html^>
) > %%~ni.html
)
del .tmp
---------------------分割线 ---------------------
使用方法:请将工具放到你要转换为HTML文件的TXT文件夹下,双击运行即可。
最后程序会在当前文件夹下生成与原TXT文件同名的HTML文件。
转载于:https://blog.51cto.com/9268726/2072293