I am looking for technique or utility that converts dir /s to index.html. I have 1000+ documents that I want to index quickly for the front page of a CD.
2 回答
您需要以下内容:
@echo off
(
echo ^<html^>
echo ^<head^>
echo ^<title^>CD Directory^</title^>
echo ^</head^>
echo ^<body bgcolor="white" text="blue"^>
echo ^<h1^>Directories^</h1^>
for /f "tokens=*" %%a in ('dir /b /ad /s') do (
echo ^<a href="file://%%a"^>%%a^</a^>^<br^>
)
echo ^</body^>
echo ^</html^>
)>index.html
将代码复制并粘贴到记事本中,并将其保存为批处理文件,例如MAKHTML.BAT。然后启动 DOS dox 并通过输入批处理文件的名称运行批处理文件,即,
makhtml
这将在同一文件夹中生成一个名为 INDEX.HTML 的文件。
AWK 适合这种处理。
您编写一个程序(在某些方面它更像一个脚本)并调用 AWK 解释器,它通过解释或自动编译来运行您的程序,并处理输入并生成输出。
您使用了 MS-DOS 标记,因此如果您想要在真正的 MS-DOS 下运行的 AWK 版本,请在 Google 上搜索“Rob Duff 的 AWK”。
否则在http://www.klabaster.com/freeware.htm上有很多 AWK 包和资源
AWK 文档说了很多关于模式匹配和 AWK 特定结构的内容,但您可以忽略它。AWK 脚本看起来很像普通的 C 程序。它包含三个部分 - 一个 BEGIN 子句,它是在处理输入文件(目录列表)之前完成的东西,一个 END 子句(猜测:-)和一个为输入文件中的每一行执行的部分. 非常适合您的应用。
AWK 程序的 BEGIN 和 END 部分将输出必要的 HTML 标记,如标题和包含标题等的基本文本,并完成 HTML 文档。AWK 打印命令将文本发送到输出,您将其重定向到名为 index.html 的文件。
要处理 dir /s 文件中的行,并生成带有链接的 HTML 文档的主体,您可能必须编写一些函数来解析目录列表并计算出树形排列。这取决于您希望如何排列 index.html 列表。AWK 支持类似于 C 的函数。
我建议使用 dir /s /b 而不是 /s 因为结果会更容易解析。