Anzeige

Am Puls von Microsoft

Anzeige

[gelöst] VBS Scripte unter Windows 8 (Wscript) ausführen

Gerd99

nicht mehr wegzudenken
Hallo,
Kurze Vorgeschichte:
Ich habe nun auch den Schritt zum Windows 8 hinter mir. Einmal von Windows 7 Ultimate (32bit) mit vollständiger Daten und App Übernahme und einmal (Notebook) von Windows 7 HomePremium. Dort hat aber die daten und App Übernahme nicht geklappt. Fast am Ende des Update kam kurz die Info, dass etwas nicht geklappt hat und der ganze Rechner wurde wieder auf den alten Stand gebracht. Bei dem Update ohne Übernahme (Einstellung:nichts) ging es aber einwandfrei. Vielleicht war irgendein Programm, was das Übernehmen verhindert hat. Der Assistent hatte aber vorher kein Problem von Apps angezeigt bzw. die betroffenen Programme hatte ich vorher deinstalliert.

Nun komme ich zu dem Anliegen des Themas:
Auf meine beiden Win 7 Rechnern hatte ich eine kleine Script-Anweisung im Autostart, die mir immer 5 Tage vorher schon einen Geburtstag angekündigt hatte. Der wurde dann jeden Tag wie beim Countdown herunter gezählt. Seit der Zeit habe ich eigentlich nie mehr ein Geburtstag vergessen. Leider läuft die Anwendung so nicht mehr. Jetzt suche ich jemanden, der sich in VBS Dateien auskennt und mir bei der Umstellung auf Win8 behilflich sein kann. Denn grundsätzlich laufen ja VBS Scripte auch auf Win8.

Hier einmal der Inhalt der BIRTHDAY.VBS Datei:
Dim objFileSystem
Dim objFile
Dim objTextStream
Dim szConfigFile
Dim szBirthday, szName, szThisYear, szNextYear, szComparisonDate
Dim szMessage
Dim iTime
Dim iDifference

' Standardwerte für einige Variablen
szConfigFile = "C:\DATEN\BIRTHDAY.INI"
iTime = 5

szMessage = ""
szThisYear = CStr(Year(date))
szNextYear = CStr(Year(date)+1)

Set objFileSystem = CreateObject("Scripting.FileSystemObject")

' Config-Datei ermitteln, ...
If objFileSystem.FileExists(szConfigFile) Then

' ... öffnen...
Set objFile = objFileSystem.OpenTextFile(szConfigFile)

' ... und zeilenweise abarbeiten
Do until objFile.atEndOfStream

' Geburtstag und Name des Geburtstagskindes lesen
szBirthday = objFile.read(6)
szName = objFile.readLine

' Wieviele Tage sind es noch bis zum nächsten Geburtstag?
szComparisonDate = szBirthday & szThisYear
iDifference = DateDiff("y", date, DateValue(szComparisonDate))

' Falls der nächste Geburtstag allerdings erst im nächsten Jahr liegt
if (CInt(iDifference) < 0) then
szComparisonDate = szBirthday & szNextYear
iDifference = DateDiff("y", date, DateValue(szComparisonDate))
end if

' Wenn die Anzahl der Tage innerhalb der Frist liegt
if (CInt(iDifference) <= iTime) then
szMessage = szMessage & szName & " am " & szComparisonDate & " - noch " & iDifference & " Tage" & Chr(10)
end if

Loop
objFile.close

else
MsgBox "Die Config-Datei " & szConfigFile & " ist nicht vorhanden!", vbCritical, "Fehler"
end if

' Falls vorhaben, Liste der nächsten Geburtstage ausgeben
If szMessage<>"" Then
MsgBox szMessage, vbInformation, "Die nächsten Geburtstage"
End If
Dazu auch die notwendige BIRTHDAY.INI Datei
02.11. Kerstin,
03.11. Dieter,
03.11. Christa,
03.11. Claudia,
04.11. Knut,
05.11. Hans Werner,
05.11. Elisabeth,
03.12. Marina,
22.12. Gela,
31.12. Inge
Zusätzlich noch eine Datei mit dem Namen BIRTHDAY.WSH. Für diese Datei habe ich einen Link erstellt und in den Autostart kopiert. Ich hatte die Dateien in dem Ordner C:\Daten abgelegt.
Die Datei hatte folgenden Inhalt:
[ScriptFile]
Path=C:\Daten\birthday.vbs
[Options]
Timeout=0
DisplayLogo=0
Die Dateien befinden sich in dem Ordner C:\Daten.
Ich habe in der DEMO-INI Termine eingegeben von den einige nach dem Aufruf der Datei (Link von BIRTHDAY.WSH) in einem PopUp Fenster auf dem Desktop dargestellt werden. Geordnet nach der Reihenfolge der Geburtstage. Alle Termine im Zukunftsfenster von 5 Tagen wurden angezeigt.

Das kleine VBS Programm wurde nur mit den Veränderungen in der INI Datei gefüttert. Jede Zeile muss mit einem Komma abgeschlossen werden Nur die letzte Zeile bleibt ohne Komma.

Jetzt die abschließende Frage:

Wer kann mir dabei helfen, die Script-Datei unter Windows 8 zum Laufen zu bewegen :)
 
Anzeige
Hallo,
darf ich das Thema noch einmal in Erinnerung bringen. Ich habe leider bisher noch keine Lösung gefunden.
 
gelöst: VBS Scripte unter Windows 8 (Wscript) ausführen

Hallo,

ich habe im ComputerBase Forum die richtige Lösung erhalten. Ich möchte sie aber hier noch kurz aufführen, damit bei ähnlichen Fällen der Beitrag noch hilfreich sein kann.

Begründung:
Durch die Übernahme der Dateien von Windows 7 sind die Rechte auch mit übernommen worden. Diese Rechte hinderten wohl die VBS Datei auf die INI-Datei zuzugreifen. Deswegen kam es auch zu keiner Screendarstellung und auch nicht zu einer Fehlermeldung.

Lösung:
Die beiden Dateien (birthday.vbs und birthday.ini) mit einem Texteditor neu geschrieben und als vbs bzw. ini abgespeichert.

Danke dafür an die User: ScoutX und Nunuhainz aus dem Forum ComputerBase
 
Anzeige
Oben