2010-12-15 56 views

回答

0

AWK适合这种处理。

您编写了一个程序(在某些方面它更像是一个脚本)并调用AWK解释器,它通过解释或自动编译它来运行程序,并处理输入并生成输出。

您使用了MS-DOS标签,因此如果您是在真正的MS-DOS下运行的AWK版本之后,谷歌“Rob Duff的AWK”。

否则有很多AWK包和资源http://www.klabaster.com/freeware.htm

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

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

相关问题