.vbs de bilgileri alt alta sıralı vermek


vbs ile sıralı listeleme

Sayfalarımızda sizlerle birçok .vbs scripti paylaşıyoruz bunların bazıları kendi oluşturduklarım bazıları netten bulup editlediklerim bazılarıda yabancı dergi veya sitelerden faydalı bulduklarımdır, zaten

script başlangıcında scripti oluşturan bilgileri yeralmaktadır , herneyse çoğu scriptte bir bilgi çekildiği zaman bu tekrarlı popup şekliden veriliyor örneğin Buradaki scriptte , script BIOS bilgilerini alıp ekrana getiriyor fakat bunu yaparken tekrarlı popup kullanıyor.

Orjinal script:

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colBIOS = objWMIService.ExecQuery _
    ("Select * from Win32_BIOS")
For each objBIOS in colBIOS
    Wscript.Echo "Manufacturer: " & objBIOS.Manufacturer
    Wscript.Echo "Name: " & objBIOS.Name
    Wscript.Echo "Release Date: " & objBIOS.ReleaseDate
    Wscript.Echo "Serial Number: " & objBIOS.SerialNumber
    Wscript.Echo "SMBIOS Version: " & objBIOS.SMBIOSBIOSVersion
    Wscript.Echo "Version: " & objBIOS.Version
Next

1. Scripte tıklıyoruz üretici bilgilerinin yeraldığı ilk Pop-up geliyor

ilk popup

2. Tamam butonuna basıyoruz ve ardından İsmi içeren bilginin görüntülendiği Pop-up geliyor

ikinci pop-up

Tamam diyoruz bir diğeri … ve böylece devam ediyor oldukça rahatsız edici bir durum gelin tüm bilgileri tek pencerede alt alta sıralatalım :

1. MsgBox yöntemi ile alt alta sıralatmak

Üstteki scriptte sıkıntı Wscript.Echo nun tekrar tekrar verilip her bir bilgiden sonra Pop-up yinelemesi yapmasındadır o nedenle bu kısımları çıkartacağız onun yerine MsgBox yöntemi kullanacağız , bu yöntemde tüm bilgiler tek satırda verildiğinden ben sadece ilk iki bilgiyi alıyorum (Manufacturer ve Name) , scriptimiz aşağıdaki şekilde olacaktır

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colBIOS = objWMIService.ExecQuery _
    ("Select * from Win32_BIOS")
For each objBIOS in colBIOS
MsgBox "1.Manufacturer : " & objBIOS.Manufacturer & vbNewLine & "2.Name :  " & objBIOS.Name & vbNewLine
Next

Msgbox satırı çok uzayacağından siz satırı devam ettirebilirisniz , script çalıştırıldığında aşağıdaki gibi bir çıktı verecektir

msgbox ile vbs de sıralı bilgi

Görüldüğü üzere bilgilerin hepsi derli toplu birarada ve ilk yöntemdeki gibi kullanıcıyı rahatsız etmiyor

2. strPopupMsg yöntemi ile alt alta sıralatmak

Üstteki yöntemde tek satırda bilgilerin verilmesi bir handikap olarak düşünülebilir çünkü verilmek istenen bilgi çoğaldıkça satır uzayacak buda Kodlayan kişinin kontrolünü zorlayacaktır , hoş gerçi bunun kullanıcı açısından herhagi bir zararı bulunmuoy , herneyse strPopupMsg yönteminde tek satır yerine ilk yöntemdeki gibi alt alta satırlar kullanılabilir ve çıktı sonucu da Msgbox yöntemindeki gibi derli toplu olacaktır kod buna göre düzenlendiğinde:

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colBIOS = objWMIService.ExecQuery _
    ("Select * from Win32_BIOS")
Set wshShell=CreateObject("wscript.shell")
For each objBIOS in colBIOS
strPopupMsg = strOS & vbNewLine & vbNewLine
strPopupMsg = strPopupMsg & "Manufacturer:  " & objBIOS.Manufacturer & vbNewLine
strPopupMsg = strPopupMsg & "Name:  " & objBIOS.Name & vbNewLine
strPopupMsg = strPopupMsg & "Release Date:  " & objBIOS.ReleaseDate & vbNewLine
strPopupMsg = strPopupMsg & "Serial Number:  " & objBIOS.SerialNumber & vbNewLine
strPopupMsg = strPopupMsg & "SMBIOS Version:  " & objBIOS.SMBIOSBIOSVersion & vbNewLine
strPopupMsg = strPopupMsg & "Version:  " & objBIOS.Version & vbNewLine & vbNewLine
strPopupMsg = strPopupMsg & "www.sordum.net" & vbNewLine
strPopupTitle = "BIOS Information"
wshShell.Popup strPopupMsg,,strPopupTitle,vbCancelOnly+vbinformation
Next

Üstteki kod çalıştırıldığında aşağıdaki gibi bir çıktı verecektir

strpopupmsg yöntemi ile sıralı listeleme

Resimde de görüldüğü üzere “strPopupTitle” kısmı ile pencere başlığını da verdik , bunların dışında strMsg ile de bu sıralı bilgi akışı sağlanabilir.

Çalışma Velociraptor a ait olup Kaynak gösterilmeden başka yerde yayımlanamaz



Yorum Ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

CAPTCHA