GeReg
Ensign
- Registriert
- Jan. 2004
- Beiträge
- 183
[gelöst] VBS Scripte unter Windows 8.1 (Wscript) ausführen
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 meinen 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:
Dazu auch die notwendige BIRTHDAY.INI Datei
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:
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.
Ich habe diese Anfrage auch schon in einem anderen Forum gestellt, aber dort leider ohne jegliche Resonanz. Daher hier noch einmal den Wunsch nach einer Lösung, da dieses Forum deutlich größer und bekannter ist.
Jetzt die abschließende Frage:
Wer kann mir dabei helfen, die Script-Datei unter Windows 8 zum Laufen zu bewegen
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 meinen 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
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
27.11. Kerstin,
27.11. Dieter,
28.11. Christa,
29.11. Claudia,
29.11. Knut,
30.11. Hans Werner,
30.11. Elisabeth,
01.12. Marina,
02.12. Gela,
03.12. Inge
27.11. Dieter,
28.11. Christa,
29.11. Claudia,
29.11. Knut,
30.11. Hans Werner,
30.11. Elisabeth,
01.12. Marina,
02.12. Gela,
03.12. Inge
Die Datei hatte folgenden Inhalt:
[ScriptFile]
Path=C:\Daten\birthday.vbs
[Options]
Timeout=0
DisplayLogo=0
Path=C:\Daten\birthday.vbs
[Options]
Timeout=0
DisplayLogo=0
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.
Ich habe diese Anfrage auch schon in einem anderen Forum gestellt, aber dort leider ohne jegliche Resonanz. Daher hier noch einmal den Wunsch nach einer Lösung, da dieses Forum deutlich größer und bekannter ist.
Jetzt die abschließende Frage:
Wer kann mir dabei helfen, die Script-Datei unter Windows 8 zum Laufen zu bewegen

Zuletzt bearbeitet: