Visual Basic Script (VBS): Einführung
Aus Wikibooks
>> Zurück zum Inhaltsverzeichnis
Inhaltsverzeichnis |
[Bearbeiten] Grundlagen
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.