HTML

Ordnerverzeichnisse generieren

(msc) Eine häufige Aufgabe des Webdesigners ist es, für die Struktur der Website zu sorgen – trivial ausgedrückt könnte man auch sagen: Dateien zu verlinken. Dies gilt zumindest dort, wo kein Content Management System dynamisch Einstiegsseiten generiert und die Inhalte den Besuchern zugänglich macht.

Bei statischen Seiten ist also Handarbeit gefragt: Hat man einen Ordner, der über eine Index-Seite erschlossen werden soll, dann richtet man für jede Datei in dem Ordner einen Link ein, den man passend beschriftet. Das klingt repetitiv, in aller Regel ist das Generieren von Übersichtsseiten eine reichlich langweilige Angelegenheit.

Das nachfolgende Script erleichtert die Verlinkung von Dateien erheblich. Das Script nimmt als erstes die Pfadangabe des zu verlinkenden Ordners entgegen. Dann generiert es automatisch eine HTML-Seite, in der jede einzelne Datei des angegebenen Ordners verlinkt wird.

Das praktische an dem Script ist jedoch, dass in der Übersichtsseite nicht (wie z.B. im Freeware-Programm Dirhtml) die Dateinamen erscheinen, sondern der Titel einer jeden Seite. Das Script öffnet nämlich jede Datei, sucht nach der Angabe zwischen den \-Tags und übernimmt diese in das Verzeichnis. Natürlich lässt sich das Script auch jederzeit so anpassen, dass andere Informationen aus den verlinkten Dateien ausgelesen werden. Möchte man zum Beispiel die Überschrift 1 auf die Übersichtsseite übernehmen, dann ändert man die Variablen STStart und STEnde entsprechend ab:

STStart = «<h1>»
STEnde = «</h1>»

Natürlich sind auch andere Anpassungen möglich: So könnten CSS-Formatierungsinformationen eingebaut werden oder es wäre möglich, weitere Informationen (Dateigrösse etc.) in die Übersichtsliste zu integrieren oder die Liste als Tabelle aufzubauen.

Das Script läuft auf Windows und benötigt den Windows Script Host (WHS).

REM VERZEICHNIS-LISTING ALS HTML-SEITE AUSGEBEN
REM (c) & (r) Matthias Schüssler, 14.2.2005
STStart = «<title>»
STEnde = «</title>»
Titel = «Dateien-Listing als HTML»
Fldr = InputBox(«Welches Verzeichnis soll gelesen werden?», Titel, «c:\»)
Datei = InputBox(«Wie soll die Ausgabedatei heissen?», Titel, «index.html»)
Set FO = CreateObject(«Scripting.FileSystemObject»)
if not FO.FolderExists(Fldr) then
MsgBox(«Dieser Ordner existiert nicht!»)
WScript.Quit
end if
Set Fd = FO.GetFolder(Fldr)
Set Filelist = Fd.Files
If not FO.FileExists(Datei) then
Set Output = Fo.OpenTextFile(Fldr+»\»+Datei, 2, true)
Output.WriteLine(«<html><head>»)
Output.WriteLine(«<title>Dateilisting «&Fldr&»</title></head>»)
Output.WriteLine(«<body>»)
Output.WriteLine(«<h1>Dateilisting «&Fldr&»</h1>»)
Output.Write(«<p>»)
For Each File in Filelist
Set Input = FO.OpenTExtFile(File)
Str = Input.ReadAll()
Titlestart = InStr(1, Str, STStart, vbTextCompare) + Len(STStart)
Titlestop = InStr(1, Str, STEnde, vbTextCompare)
if (Titlestart > 0) and (Titlestop > 0) then
Title = Mid(Str, TitleStart, TitleStop-TitleStart)
else Title = FO.GetFileName(File)
end if
output.WriteLine(«<a href=»&FO.GetFileName(File)&»>» &Title&»</a><br>»)
Next
Output.Write(«</p></body></html>»)
Output.Close
else
MsgBox «Ausgabedatei «&Datei&» existiert schon! Bitte löschen oder anderen Dateinamen angeben!»
end if

Die vom Publisher-Script automatisch generierte Übersichtsseite.

Quelle: Publisher, Montag, 7. März 2005

Rubrik und Tags:

Faksimile

Metadaten
Thema: Webtipps
Nr: 6361
Ausgabe: 05-2
Anzahl Subthemen: 3

Obsolete Datenfelder
Bilder: 1
Textlänge: 167
Ort:
Tabb: