Dateien in monatsaktuellen Ordner herunterladen

Vor kurzem beschrieb CHIP, wie man mit dem Scripting Host automatisch Ordner erstellt, die das aktuelle Datum als Namen tragen. Kann man nun in Verbindung mit dem Download-Manager Getright Dateien direkt in diesen Ordner herunterladen?

Ja, das geht. Das damals gedruckte Listing basiert auf VBScript. Mit dieser Programmiersprache kann ein Programm auch Daten in die Registry schreiben oder sie daraus lesen. Und genau das muss das neue Listing tun, denn Getright in der aktuellen Version 4.2c und der kleinere Bruder Mygetright legen die Infos für ihre Default-Download-Ordner in der Registry ab. Getright 4.2c nutzt dazu den Schlüssel »HKEY_CURRENT_USER\ Software\ HeadLight\ GetRight\ Config\ DefaultDir«, Mygetright den Schlüssel »HKEY_CURRENT_USER\ Software\ HeadLight\ MyGetRight\ Config\ DefaultDir«.

Um den Download-Ordner in die Registry zu schreiben, müssen Sie das VBScript CREATEDIR.VBS aus CHIP 8/2000 erweitern. Hierzu sind wenige Zeilen zusätzlicher Code erforderlich. Das überarbeitete Listing finden Sie auch als VBS-Datei auf der CHIP-CD CHIP-Code CREATEDIR. Das für Mygetright angepasste Skript sieht folgendermaßen aus:


Dim objFileSystem
Dim objShell
Dim szOrdner
Dim szRegKey

Set objFileSystem =CreateObject(äScripting.FileSystemObjectä)
Set objShell = CreateObject(äWscript.Shellä)

szOrdner = äC:\ Daten\ Download\ ô & CStr(date)
szRegKey =ôHKEY_CURRENT_USER\ Software\ HeadLight\MyGetRight\ Config\ DefaultDirä

If
(objFileSystem.FolderExists(szOrdner)) Then
Msgbox äDer Ordner ä & szOrdner & ä ist bereits vorhanden!ä

Else

objFileSystem.CreateFolder(szOrdner)
objShell.RegWrite szRegKey,szOrdner
End If



So funktioniert das Listing: Zuerst definiert das Programm die zwei neuen Variablen »objShell« und »szRegKey«, wobei es »szRegKey« später mit dem Namen des betreffenden Schlüsselwertes für die Registry belegt. Außerdem erzeugt das VBS-Skript ein Objekt »objShell« des Typs »Wscript.Shell«. Mit dessen Hilfe kann es dann auf Umgebungsvariablen und Registry-Einträge zugreifen.

Als nächstes belegt das Skript die Variable »szOrdner« mit dem Ordnerpfad und dem Namen des Verzeichnisses. Mit »RegWrite« des Objektes »objShell« schreibt der Scripting Host den Pfad in die Registry. Als Parameter nutzt er »szRegKey«, in dem der Schlüsselname hinterlegt ist, und »szOrdner«, in dem das Skript den Pfad des Download-Ordners speichert.

Interessant für die Arbeit mit der Registry sind noch zwei weitere Methoden von »objShell«, nämlich »RegRead« und »RegDelete«. »RegRead« liest einen Wert aus der Registry, während »RegDelete« einen Eintrag in der Datenbank löscht.