Vbs ile diğer bir Vbs oluşturalım


vbs oluşturan vbs
Geçenlerde küçük bir .vbs scripti oluşturuyordum ve bu script Chromenin şifrelerini favorilerini vs. yi masaüstüne bir klasör oluşturup içine yedekleyecekti gel gelelim aynı klasörün içinde birde

tüm yedeği geri alma scripti olması gerekiyordu lakin kesinlikle .exe kullanmak istemediğimden .vbs ile klasör içinde yedeği geri alma scriptinin oluşturulması gerekiyordu benzeri bir durumda sizinde vbs oluşturan bir vbs ye ihtiyacınız olabilir bu işlem zor olmamasına rağmen tırnak işaretlerine dikkat etmeyi gerektirmektedir mesela aşağıdaki script tıklandığında bize Windows version numarasını verir

Dim objWMIService
Dim colItems

Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")'Dot is local computer
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL")

For Each objItem In colItems
MsgBox ""& objItem.Caption & vbNewLine & ""& objItem.version & vbNewLine
Next

Biz üstteki kodları bir .vbs scriptinde tanımlamalı ve tıkladığımızda üstteki scripti oluşturtmalıyız , burada kural Tırnak sayısının x 2 kadar arttırılmasıdır (En azından benim kuralım) , aşağıdaki scriptte "vbs kodu gelecek" kısımlarına üstteki kodun her bir satırı gelecek yani yazdırmak istediğimiz her bir .vbs satırı için objFile.WriteLine "" kullandık

Set objFSO=CreateObject("Scripting.FileSystemObject")
outFile="version.vbs"
Set objFile = objFSO.CreateTextFile(outFile,True)
objFile.WriteLine "vbs kodu gelecek"
objFile.WriteLine "vbs kodu gelecek"
objFile.WriteLine "vbs kodu gelecek"
objFile.WriteLine "vbs kodu gelecek"
objFile.WriteLine "vbs kodu gelecek"
objFile.WriteLine "vbs kodu gelecek"
objFile.WriteLine "vbs kodu gelecek"
objFile.Close

Scripti düzenleyecek olursak ilk başta verdiğimiz .vbs scripti oluşturacak .vbs scripti şu şekilde olacaktır

Set objFSO=CreateObject("Scripting.FileSystemObject")
outFile="version.vbs"
Set objFile = objFSO.CreateTextFile(outFile,True)
objFile.WriteLine "Dim objWMIService"
objFile.WriteLine "Dim colItems"
objFile.WriteLine "Set objWMIService = GetObject(""winmgmts:\\.\root\CIMV2"")'Dot is local computer"
objFile.WriteLine "Set colItems = objWMIService.ExecQuery(""SELECT * FROM Win32_OperatingSystem"", ""WQL"")"
objFile.WriteLine "For Each objItem In colItems"
objFile.WriteLine "MsgBox """"& objItem.Caption & vbNewLine & """"& objItem.version & vbNewLine"
objFile.WriteLine "Next"
objFile.Close

Üstteki koda "vbs_olustur" ismini verdim ve çalıştırdığımda bana "version.vbs" isminde başka bir visual basic script oluşturuyor ve içerisinde ilk verdiğim kodlar yeralıyor böylece de bir .vbs ile diğer bir .vbs oluşturmuş oluyoruz , version.vbs yi oluşturup çalıştırsın isteseydik üstteki scriptin sonuna aşağıdakini ilave edecektik

Set wshShell = WScript.CreateObject("WSCript.shell") 
wshshell.run "version.vbs"
set wshshell = nothing 

Üstte kullandığımız scriptlerin hazır hallerini aşağıdaki linkten indirebilirsiniz

Download


Yorum Ekle

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Captcha