VBScript
VBScript (VBS, Visual Basic Scripting Edition) je skriptovací jazyk určený pro vkládání kódu do webových stránek a běžné skriptování ve WSH (interpreter skriptů nazývaný Windows Script Host, starším názvem Windows Scripting Host), založený na jazyce Visual Basic. Vznik jazyka je spolu se vznikem jazyka JScript (taktéž WSH a CScript – neplést s JavaScriptem) považován za odpověď firmy Microsoft na vznik jazyka JavaScript.
Paradigma | strukturovaný, imperativní, objektově orientovaný, odlehčený |
---|---|
Vznik | 1996 |
Vývojář | Microsoft |
Poslední verze | 5.812 |
Hlavní implementace | Windows Script Host, Active Server Pages |
Ovlivněn jazyky | Visual Basic |
Ovlivnil jazyky | Windows PowerShell |
OS | Windows |
VBScript obsahuje každá instalace Microsoft Windows od verze Windows 98.[1] V systémech řady NT je přítomen od Windows NT 4.0 Option Pack. Nachází se též ve Windows CE (jen na některých zařízeních). Pro vykonávání skriptů na webových stránkách je nutný Internet Explorer, jiné prohlížeče nejsou kompatibilní.
Použití
editovatJazyk VBS je mezi hackery oblíbený pro psaní virů (např. W32.LoveLetter známý jako I Love You a mnoho dalších), mimo jiné proto, že malé skripty lze spouštět na většině současných verzí Windows s WSH a dokáže přes VBA API (Aplikační rozhraní Visual Basic For Applications) přistupovat k velkému množství programů na počítači oběti a rozesílat se tak např. pomocí e-mailu jejím známým a vytahovat z počítače důvěrná data.
Jazyk VBS je dobře použitelný i v kladném smyslu. Např. v HTA (HTML Application). VBS je po JavaScriptu nejpoužívanější skriptovací jazyk hlavně díky podobnosti Visual Basicu a téměř neomezeným schopnostem, které zajišťuje WMI. Na spuštění VBS je potřeba nainstalovaný WSH (Windows Script Host).
Ukázka kódu
editovatHello world
editovatTradiční program Hello world vypadá takto:
MsgBox "Hello, world!"
SendKeys
editovatMetoda SendKeys vysílá sekvence znaků do aktivovaného okna (jako při psaní na klávesnici). SendKeys nemusí fungovat ve všech programech, některé vyžadují skutečné stisky kláves.
Procedura, která po znacích vypíše text, mezi jednotlivými znaky počká požadovaný počet milisekund.
Sub vypsatPoZnacich(text, zpozdeni)
Set shell = createobject("wscript.shell")
For i = 1 To Len(text)
Wscript.Sleep zpozdeni
shell.SendKeys Mid(text, i, 1)
Next
End Sub
Volání procedury má podobu:
Call vypsatPoZnacich("Hello, World!", 250)
Převrácení textu
editovatNásledující program bude pomocí vstupního dialogu požadovat text k převrácení. Pokud uživatel dialog zruší, nebo odešle prázdný řetězec, program se ukončí, jinak bude v dalším dialogu zobrazen výsledek. Postup se bude opakovat, dokud bude uživatel chtít.
Do
opakovat = true
text = InputBox("Zadej text k převrácení", "Převrátit text")
If text = "" Then
opakovat = false
Else
prevraceny = StrReverse(text)
vystup = MsgBox(text & " = " & prevraceny, vbRetryCancel, "Převrácený text")
If vystup = vbCancel Then opakovat = false
End If
Loop While opakovat = true
Související články
editovatReference
editovat- ↑ Windows Script Host Version Information [online]. Microsoft [cit. 2013-06-16]. Dostupné online. (anglicky)
Externí odkazy
editovat- Obrázky, zvuky či videa k tématu VBScript na Wikimedia Commons
- w3c – funkce VBScriptu