2010-12-15 1 views

ответ

0

AWK подходит для такого рода обработки.

Вы пишете программу (в некотором роде это скорее скрипт) и вызывают интерпретатор AWK, и он запускает вашу программу либо путем ее интерпретации, либо путем автоматической компиляции, и обрабатывает ввод и генерирует вывод.

Вы использовали тег MS-DOS, поэтому, если вы используете версию AWK, которая работает под реальной MS-DOS, google «AW DUB AWA».

В противном случае есть много пакетов AWK и ресурсы на http://www.klabaster.com/freeware.htm

AWK документации много говорит о сопоставлении с образцом и AWK-специфической структурой, но вы можете игнорировать это. Скрипт AWK может выглядеть очень похож на обычную C-программу. Есть три части: предложение BEGIN, которое выполняется до того, как обрабатывается входной файл (список каталогов), и предложение END (есть предположение :-) и раздел, который выполняется для каждой строки входного файла , Отлично подходит для вашего приложения.

Часть BEGIN и END вашей программы AWK выводит необходимые HTML-теги, такие как заголовок и базовый текст, включая заголовки и т. Д., И заканчивает HTML-документ. Команда печати AWK отправляет текст на вывод, который вы перенаправляете в файл с именем index.html.

Чтобы обработать строки из файла dir/s и сгенерировать тело документа HTML со ссылками, вам, вероятно, придется написать некоторые функции для разбора списка каталогов и разработки схемы дерева. Это зависит от того, как именно вы хотите упорядочить список index.html. AWK поддерживает такие же функции, как C.

Я бы рекомендовал использовать dir/s/b вместо just/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. Затем запустите в DOX DOS и запустить пакетный файл, введя его имя т.е.

makhtml 

Это создаст файл с именем index.html в той же папке.

 Смежные вопросы

  • Нет связанных вопросов^_^