Archiv für die Kategorie 'Webseiten'

Björn Morawitz

Ordner in HTML umwandeln

Folgendes Problem: eine bestehende Ordnerstruktur auf eine CD brennen und eine index.html dazupacken.

kurzes Googlen brachte zwar allerlei PHP-Skripte zu Tage, aber kein wirkliches Programm. Nur der Tipp wie man es in WYSIWYG Editor XYZ macht.

Nach einiger Zeit habe ich dann hier ein Visual Basic Script gefunden welches vielversprechend aussah. Leider war es defekt und musste noch angepasst werden. Kurzerhand hier ist das Ergebnis:

dim gesamt
Set MyFiles = CreateObject(“Scripting.FileSystemObject”)
Set MyShell = CreateObject(“WScript.Shell”)

Set args=wscript.arguments
if args.count=0 then
install
else
start = args(0)
end if

if asc(right(start,2)) = 126 then start=inputbox(“Anfangsverzeichnis mit kurzem Dateinamen ok?”,,start)
if start = “” then wscript.quit
Set Verz = MyFiles.GetFolder(start)

DateiFilter = ucase(InputBox(“Welchen Dateityp wollen Sie auflisten? Geben Sie die Dateierweiterung ein ( * für ALLE).”,,”*”))
If DateiFilter = “” Then WScript.Quit

Do
i=instr(start,”\”)
start=mid(start,i+1)
loop while instr(start,”\”)

if start = “” then start = left(args(0),1)
typ=DateiFilter
if typ=”*” then typ = “ALLE”
Index = typ & ” Dateien” & ” unter ” & start & “.htm”
IndexFile = Verz &”\” & Index
IndexFile = replace(indexfile,”\\”,”\”)

Set TextFile = MyFiles.CreateTextFile(IndexFile, True)
TextFile.Writeline “<HTML>”
TextFile.Writeline “<BODY>”
Subsearch Verz
TextFile.Writeline “<H3>” & string(60, “*”) & “</H3>”
TextFile.Writeline “<H3>Dateien insgesamt unter ” & start & “: ” & gesamt & “</H3>”
TextFile.Writeline “</BODY>”
TextFile.WriteLine “</HTML>”
TextFile.Close
i=myshell.run(chr(34) & indexfile & chr(34))

Sub SubSearch(Byval Verz)
filesearch verz
Set Weitere = Verz.SubFolders
For Each AktuellerOrdner In Weitere
i=instr(AktuellerOrdner,”Temporary Internet Files”)
if i = 0 then SubSearch AktuellerOrdner
Next
End Sub

Sub Filesearch(Byval AktuellerOrdner)
Set Dateien=AktuellerOrdner.Files
z = 0
For Each Datei in Dateien
If DateiFilter = “*” OR ucase(MyFiles.GetExtensionName(Datei.Path)) = DateiFilter Then
z = z + 1
if z = 1 then TextFile.Writeline “<H2>” & typ & ” Dateien unter ” & AktuellerOrdner & “</H2>”
Pfad = Replace(Datei, “\”, “/”, 1)
TextFile.Writeline “<a href=” & Chr(34) & UCase(datei.path) & Chr(34) & “>” & ucase(datei.name) & “</a></br>”
End If
Next
if z > 0 then
gesamt = gesamt + z
if z = 1 then
TextFile.Writeline “<H3>” & z & ” Datei</H3> </br>”
else
TextFile.Writeline “<H3>” & z & ” Dateien</H3> </br>”
end if
end if
End Sub

sub install()
On Error Resume Next
installed=MyShell.RegRead(“HKEY_CLASSES_ROOT\folder\Shell\HTML-Index\Command\”)
if installed = “” then
Set c = MyShell.Environment(“PROCESS”)
winverz=c(“WINDIR”)
neu=”wscript.exe ” & winverz & “\index.vbs ” & chr(34) & “%1″ & chr(34)
MyShell.RegWrite(“HKEY_CLASSES_ROOT\folder\Shell\HTML-Index\Command\”),neu
PCWScript = WScript.ScriptFullName
set pcwcopy=MyFiles.Getfile(PCWScript)
installpath=winverz & “\index.vbs”
pcwcopy.copy(installpath)
msgbox “Script ist jetzt installiert, siehe ==> HKEY_CLASSES_ROOT\Folder\SHELL\HTML-Index.” & chr(10) & chr(13) & “Aufruf über Ordner-Kontextmenü ‘HTML-Index’”
wscript.quit
Else
m=myshell.popup(“HTML-Index deinstallieren?”,,”Uninstall”,4)
if m=6 then MyShell.RegDelete(“HKCR\Folder\Shell\HTML-Index\”)
end if
wscript.quit
end sub

Das Skript installiert sich beim ersten Aufruf automatisch im System und ist danach über das Kontextmenü im Explorer aufzurufen. Die HTML-Datei wird im ersten Unterordner erstellt und enthält neben den Dateien in den Unterverzeichnissen auch sich selbst als Link.

Dazu kommt noch der Fehler, dass die Links nicht relativ sondern absolut angeben werden. Sollte ich das Skript noch einmal benötigen werd ich das noch anpassen, aber fürs Erste hat es mir gut geholfen und ich denke auch allen die das hier lesen.

BTW: sollte jemand nicht wissen wie man mit VBS-Skripten umgeht: obigen Quelltext in eine Datei mit der Endung .vbs speichern und einmalig ausführen. Das Skript installiert sich dann von selber. Danach kann das Skript an der Stelle gelöscht werden.

Björn Morawitz

Webfarben finden

Heute ist mir ein kleines Online-Tool über den Weg gelaufen: unter http://ollycope.com/tools/colours/123456 kann man sich ähnliche und komplemenäre Farben zu einem hexadezimalen Farbcode anzeigen lassen. Einfach die 123456 in der URL durch den Farbcode ersetzen oder eine gewünschte Farbe anschauen und schon weiß man wie man etwas “ein bisschen blauer” oder “ein bisschen dunkler” macht.

Somit entfällt das ewige rumprobieren oder das starten von Photoshop und ähnlichen Programmen.