Visual Basic Script (VBS): Einführung

Aus Wikibooks

Wechseln zu: Navigation, Suche

>> Zurück zum Inhaltsverzeichnis


Inhaltsverzeichnis

[Bearbeiten] Grundlagen

1. Konstanten und Variablen


VBS arbeitet mit 2 verschiedenen Arten von Befehlen:

1. = Befehle, die man mit einer definierten Variable einleiten kann, und sonst nicht.
2. = Befehle, die von VBS schon vordefiniert sind.

Damit nicht jeder einzelne Fehler dem Benutzer gemeldet wird, empfiehlt es sich, die Anweisung "On Error Resume Next" gleich zu Beginn in der ersten Zeile zu platzieren.


"Hallo Welt" als Popup

Dim Beispiel
Set Beispiel = CreateObject("WScript.Shell")
Beispiel.Popup "Hallo Welt","3","Testprogramm"

Wenn man dieses Programm abtippt und als eine Datei mit der Endung .vbs (oder .vbe) abspeichert, dann bekommt man ein kleines Messagefenster zu sehen, das 3 Sekunden lang offen bleibt, "Hallo Welt!" als Fensterinhalt besitzt und "Testprogramm" als Fensterüberschrift trägt.


Arbeiten mit den Grundrechenarten:

On Error Resume Next
dim a 
set a = CreateObject("WScript.Shell")
a = InputBox("Bitte Wert 1 eingeben","Eingabebox","Hier die Zahl eingeben")
dim b
set b = CreateObject("WScript.Shell")
b = InputBox("Bitte Wert 2 eingeben","Eingabebox","Hier die Zahl eingeben")
dim c
set c = CreateObject("WScript.Shell")
c = a -- b
oder: c = a - b
oder: c = a / b
oder: c = a * b
MsgBox "Das Ergebnis ihrer Rechnung lautet: " & c,64,""

Diese Anwendung ist in der Lage, je nach angegebener Operation einen Wert mit einem anderen zu addieren, die Werte zu subtrahieren ect.
Wichtig bei einer Addition:
Man sollte statt + -- verwenden, sonst lautet das Ergebnis 12+3=123


Datei kopieren

Dim Beispiel
Set Beispiel = CreateObject("Scripting.FileSystemObject")
Beispiel.copyFile "Urpfad", "Zielpfad", True

Dieser Script kopiert die Datei von "Urpfad" nach "Zielpfad"
Achtung:
1. = Da es sich hier um eine Operation im Dateisystem handelt muss die Variable mit
("Scripting.FileSystemObject") definiert werden, und nicht mit ("WScript.Shell"), da es sonst nicht funktionieren wird.
2. = Das "True" nach Beispiel.copyFile "Urpfad", "Zielpfad", ist Pflicht. Damit wird die Operation nochmals bestätigt.

Datei löschen

Dim Beispiel
Set Beispiel = CreateObject("Scripting.FileSystemObject")
Beispiel.DeleteFile "Müll.txt.txt", True

Dieser Script löscht die Datei "Müll.txt".
Hier gilt die gleiche Regel wie bei CopyFile auch = Operation im Dateisystem
Daher wird auch hier "Scripting.FileSystemObject" verwendet

Programme starten

Dim Beispiel
Set Beispiel = CreateObject("WScript.Shell")
Beispiel.Run "CMD"

Dieses Programm öffnet den Windows Befehlsprozessor (cmd.exe).
Das ist eine normale Operation, daher "WScript.Shell", und nicht "Scripting.FileSystemObject".
Im übrigen kann man mit diesem Befehl auch eine Internetseite aufrufen.

dim a
set a = CreateObject("WScript.Shell")
a.run "http://de.youtube.com/" 


Tastatureingaben senden

Dim Beispiel
Set Beispiel = CreateObject("WScript.Shell")
Beispiel.Run "Notepad"
Beispiel.SendKeys "Test"
Beispiel.SendKeys "{ENTER}"

Mit diesem eher unnötigen Script kann man ein Programm öffnen und dann eine Tastatureingabe simulieren. Das hat in der Praxis nach Meinung von Experten mehr Schadensmöglichkeiten
als nutzen.

Registry-Schlüssel/Wert auslesen

Dim ObjShell
Dim ShellObject 
Set ShellObject = CreateObject("WScript.Shell")
Set ObjShell = CreateObject("WScript.Shell")
ObjShell = ShellObject.RegRead(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wikipedia....)
ShellObject.Popup "Der Wert lautet ;" & ObjShell ,"4",""

Dieser Script liest einen Schlüssel in der Registry aus und speichert ihn in der Variable "ObjShell".

Registry-Schlüssel/Wert schreiben

Dim ObjShell
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "C:\Test.vbs"

Dieser Script fügt in der Autostartliste die Datei unter C:\Test.vbs hinzu.
!!! Achtung: Man benötigt generell administrative Rechte, um diesen Vorgang einzuleiten.

Registry-Schlüssel/Wert löschen

Dim ObjShell
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegDelete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\harmlos", "C:\virus.bat"

Dieser Script zB. würde einen Schädlichen Batchscript aus der Autostartliste entfernen.

Inputbox

 Dim a
 a = inputbox ("Bitte geben sie ihren Namen ein!","Name?","Ihr Name")
 msgbox "Ihr Name lautet " &a&"!",0,"Ihr Name!"
 

Wenn man dieses Programm abtippt und speichert, erscheint eine Inputbox, in die sie ihren Name eingeben können. Nach einem Klick auf OK wird Ihre Eingabe in einer Message Box angezeigt.
Funktion:
Die Variable a wird erstellt ("Dim"). Sie wird als Eingabe der Inputbox gespeichert und in einer Message Box angezeigt.

Persönliche Werkzeuge