0

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.

4

2 回答 2

1

您需要以下内容:

   @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 的文件。

于 2010-12-19T11:11:39.563 回答
0

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 因为结果会更容易解析。

于 2010-12-18T15:56:38.183 回答