msgbox verschwindet wieder

Beschreibung

Bei diesem Skript erscheint eine Dialogfenster,
das nach 3 Sekunden wieder ausgeblendet wird.

set wshshell = createobject("Wscript.shell")
wshshell.popup "Nach 3 Sekunden bin ich wieder weg.",3,"Messageboxmeldung"


Alternative mit Msgbox:

MsgBox ( flag, "title", "text" [, timeout] )

Parameter
flag = Das flag gibt an, wie die Box aussieht, und welche Buttons angezeigt werden. Siehe Bemerkungen.
title = Der Titel der MessageBox.
text = Der Text der MessageBox.
timeout = [optional] Zeitbegrenzung in Sekunden. Danach wird die MessageBox automatisch geschlossen.



Text ersetzen

Beschreibung

Mittels VBS Text in Zeile erstetzen...

Parameter

Originaltext [text]
alter Text ["ein Test"]
neuer Text ["abgeschlossen"]
Textersetzungsanfang [1] -> optional
Anzahl der Textersetzung [-1] -> alle ersetzen
Klein- und Grosschreibung beachten [1] = nicht beachten [0] = beachten -> optional


text = "Dies ist ein Test."
ausgabe = Replace(text, "ein Test", "abgeschlossen",1,-1,1)
msgbox ausgabe

Sicherung mit mehreren Ständen

Dieses Skript kopiert bestimmte Dateien/ordner in einen Sicherungsordner und hält hier mehrere Stände vor. Die Backup-Ordner werden nach Datum benannt und es wird überprüft, ob ein bestimmter Ordner schon das maximale alter erreicht hat und wird dann ggf. gelöscht. Die Maximale Anzahl der Stände kann frei definiert werden und wird über das DateLastModified überprüft!

'--------- Ralf Entner / MR Datentechnik
'--------- Oktober 2007

'Skript zum Sichern von Dateien in einen Ordner
'Immer einen neuen Ordner erstellen und max. x Stände dieses Ordners vorhalten
'Das Skript erzeugt einen Ordner mit dem Namen des Datums
'Danach können beliebige Dateien in den Ordner kopiert werden
'Am Schluß wird geprüft, wieviele Stände dieses Ordners bereits vorleigen
'Es werden die Maximale Anzahl an Ordner vorgehalten, die unter MaxFolder angegeben 'sind 'alle anderen werden gelöscht

'Variablen-Erklärung

'MaxFolder = Anzahl der Speicherstände, die vorgehalten werden sollen
'sFolder = Sicherungsornder, in denen die Speicherstände vorgehalten werden
'bFolder = täglicher Backup-Ordner, in dem die entsprechenden Dateien kopiert werden

'--------------

'Variablen deklarieren

Option Explicit
on error resume next
Dim wshshell, fso, MaxFolder, sFolder, bFolder, ordner, unterordner


'--------------

'Objekte generieren
set wshshell = CreateObject("Wscript.Shell")

set fso = CreateObject("Scripting.FileSystemObject")

'--------------

'Variablen festlegen

MaxFolder = 5
sFolder = "E:\test\"
bFolder = sFolder & date & "\"

'--------------

'Backup-Verzeichnis bFolder in Sicherungs-Ordner sFolder erstellen

fso.createfolder(bFolder)

'--------------

'Dateien Kopieren
'Es können Wildcards verwendet werden!
'Datei kopieren : Syntax copyfile QUELLE, ZIEL, Überschreiben true|false
'Ordner kopieren: Syntax copyfolder QUELLE, ZIEL, Überschreiben true|false

fso.copyfile "C:\cbdata\AutoSave.cba", bFolder, true

'--------------

'Überprüfen, ob alte Stände gleöscht werden können
'Überprüft ob DateLastModified kleiner ist als heute minus MaxFolder-Tagen
'Wenn diese Differenz kleiner ist, dann wird dieser gelöscht

set ordner = fso.getfolder(sfolder)

for each unterordner in ordner.subfolders
If unterordner.DateLastModified < (now - maxfolder) Then
fso.deletefolder unterordner
end if
next

'--------------

VBS Skript Ping (WMI)

'************************************************************
'
' Datei: wmi-ping.vbs
'
' Gibt 'kurzfristig' zurück, ob ein PC erreichbar ist.
'
'************************************************************

Option Explicit

Dim Tst, ZielPC
ZielPC = "192.168.100.11"

Tst = Timer

' If WMIpingOK( ZielPC ) = False Then
If not WMIpingOK( ZielPC ) Then
MsgBox ZielPC & vbCRLF & vbCRLF & "ist momentan nicht erreichbar!"& vbCRLF & vbCRLF & "Später noch einmal versuchen.", , Timer - Tst & " - " & WScript.ScriptName
WScript.Quit
End If

MsgBox ZielPC & vbCRLF & vbCRLF & "ist jetzt erreichbar!", , Timer - Tst & " - " & WScript.ScriptName

WScript.Quit


' Aufruf z.B.: If not WMIpingOK( ZielPC ) Then MsgBox ZielPC & " ist nicht erreichbar." : WScript.Quit

Dim objPing, objStatus
WMIpingOK = True
Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select * from Win32_PingStatus where address = '" & PCName & "'")
For Each objStatus in objPing
If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then
WScript.Echo("PCName " & PCName & " is not reachable")
WMIpingOK = False
End If
Next
Set objPing = Nothing
End Function ' WMIpingOK( PCName )

Dienste überprüfen/neu starten mit LOG-File

Beispiel mit drei Diensten - kann beliebig erweitert werden!
Es ist möglich das ganze als geplanten Task mehrfach täglich laufen zu lassen!

Alle laufenden Dienste werden in der service.txt gespeichert und dann wird nach den entsprechnden Diensten darin gesucht.
Ist der Dienst nicht gestartet, dann wir er gestartet und ein Eintrag in die ausfall.txt erstellt mit Uhrzeit und Datum!

Die ausfall.txt wird NICHT überschrieben, sondern alle Fehler werden angehängt!
Die service.txt wird bei jedem Aufruf neu generiert!

@echo off

REM --- alle laufende Dienste in service.txt speichern---
net start > service.txt

REM ------------- Überprüfen ob 1.Dienst läuft --------------
find "Designs" service.txt
if errorlevel 1 goto WEG1
if errorlevel 0 goto OK1

:WEG1
REM --- Dienst neu starten und Datum + Uhrzeit festhalten ---
echo Designs %date% %time% >> ausfall.txt
net start "Designs"
goto OK1
REM ---------------------------------------------------------

:OK1

REM ------------- Überprüfen ob 2.Dienst läuft --------------
find "Hilfe und Support" service.txt
if errorlevel 1 goto WEG2
if errorlevel 0 goto OK2

:WEG2
REM --- Dienst neu starten und Datum + Uhrzeit festhalten ---
net start "Hilfe und Support"
echo Hilfe und Support %date% %time% >> ausfall.txt
goto OK2
REM ---------------------------------------------------------

:OK2

REM ------------- Überprüfen ob 3.Dienst läuft --------------
find "Taskplaner" service.txt
if errorlevel 1 goto WEG2
if errorlevel 0 goto OK3

:WEG2
REM --- Dienst neu starten und Datum + Uhrzeit festhalten ---
net start "Taskplaner"
echo Taskplaner %date% %time% >> ausfall.txt
goto OK3
REM ---------------------------------------------------------

:OK3

goto END

:END
Kategorien: Batch
Tags für diesen Artikel:
“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”
Gene Spafford (Sicherheitsexperte)