2010-12-15 6 views

Antwort

0

AWK ist gut für diese Art der Verarbeitung.

Sie schreiben ein Programm (in gewisser Weise ist es mehr wie ein Skript) und rufen den AWK-Interpreter auf, der Ihr Programm entweder durch Interpretieren oder automatisches Kompilieren ausführt und Eingaben verarbeitet und Ausgaben generiert.

Sie haben das MS-DOS-Tag verwendet, wenn Sie nach einer Version von AWK suchen, die unter echtem MS-DOS läuft, googeln Sie "Rob Duffs AWK".

Ansonsten gibt es viele AWK-Pakete und Ressourcen bei http://www.klabaster.com/freeware.htm

AWK Dokumentation sagt viel über Pattern-Matching und AWK-spezifische Struktur, aber Sie können das ignorieren. Ein AWK-Skript kann ähnlich wie ein normales C-Programm aussehen. Es gibt drei Teile davon - eine BEGIN-Klausel, die vor der Verarbeitung der Eingabedatei (Verzeichnisliste) erstellt wird, und eine END-Klausel (rate :-) und einen Abschnitt, der für jede Zeile in der Eingabedatei ausgeführt wird . Passend zu Ihrer Anwendung.

Der BEGIN- und END-Teil Ihres AWK-Programms würde die erforderlichen HTML-Tags wie den Titel und den Basistext einschließlich Überschriften usw. ausgeben und das HTML-Dokument fertigstellen. Der AWK-Druckbefehl sendet Text an die Ausgabe, die Sie in eine Datei namens index.html umleiten.

Um die Zeilen aus der Datei dir/s zu verarbeiten und den Textkörper des HTML-Dokuments mit den Links zu generieren, müssten Sie wahrscheinlich einige Funktionen schreiben, um die Verzeichnisliste zu analysieren und die Baumstruktur zu ermitteln. Es hängt davon ab, wie genau die index.html-Liste angeordnet werden soll. AWK unterstützt Funktionen wie C.

Ich würde dir/s/b anstelle von nur/s empfehlen, weil die Ergebnisse viel einfacher zu analysieren sind.

1

Sie brauchen etwas wie folgt aus:

@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 

Kopieren Sie den Code in den Editor einfügen und als Batch-Datei speichern sagen, MAKHTML.BAT. Dann ein DOS-Dox anwerfen und die Batch-Datei ausführen, indem sie die Eingabe seiner Namen dh

makhtml 

Dies wird eine Datei mit dem Namen INDEX.HTML im selben Ordner herzustellen.