【问题标题】:looking for technique or utility that converts dir /s to index.html寻找将 dir /s 转换为 index.html 的技术或实用程序
【发布时间】:2010-12-15 01:23:55
【问题描述】:

我正在寻找将 dir /s 转换为 index.html 的技术或实用程序。我有 1000 多个文档,我想快速索引 CD 的首页。

【问题讨论】:

    标签: dos dir


    【解决方案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 的文件。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2023-03-30
        • 2018-09-01
        • 2012-11-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多