Я ищу технику или утилиту, которая преобразует dir/s в index.html. У меня есть 1000 документов, которые я хочу быстро индексировать для первой страницы компакт-диска.ищет технику или утилиту, которая преобразует dir/s в index.html
ответ
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, потому что результаты будут намного проще разобрать.
Вам нужно что-то вроде следующего:
@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 в той же папке.