.Vbs de SpecialFolders kullanımı


vbs ile masaüstünde klasör oluşturmak

Eğer .vbs ile masaüstünde bir klasör oluşturmaya kalkarsak bunun pekte kolay olmadığını farkederiz sebebi Visual basic script dilinde belirli Windows klasörleri için “WshSpecialFolders” objesinin

kullanılması gerekliliğidir , “WshSpecialFolders” tüm Windows özel klasörlerini içermektedir mesela masaüstü klasörü , başlangıç menüsü klasörü… tam bir liste yapacak olursak :

AllUsersDesktop
AllUsersStartMenu
AllUsersPrograms
AllUsersStartup
Desktop
Favorites
Fonts
MyDocuments
NetHood
PrintHood
Programs
Recent
SendTo
StartMenu
Startup
Templates

Gelin Masaüstünde bir klasör oluşturalım bunun için aşağıdaki kodları kullanıyorum

'www.sordum.net - velociraptor - 24.07.2015
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")
strDirectory = "Sordum"
strDirectory = objFSO.BuildPath(WshShell.SpecialFolders("Desktop"), strDirectory)
If objFSO.FolderExists(strDirectory) Then
Wscript.Echo strDirectory & " already exists"
Else
Set objFolder = objFSO.CreateFolder(strDirectory)
Wscript.Echo "The folder " & strDirectory & " has just been created"
End if
Wscript.Quit

Kodu vbs şeklinde kaydedip çalıştırdığımızda masasütünde sordum adlı bir klasör oluşturacaktır , ve hemen sonrasında aşağıdaki uyarıyı verecektir

klasör oluştu

masaüstünü aşağıdaki satırda belirtik
strDirectory = objFSO.BuildPath(WshShell.SpecialFolders(“Desktop”), strDirectory)
Peki Belgelerimde Sordum isminde bir klasör oluşturmak isteseydik ne yapacaktık ? satırı aşağıdaki şekilde değiştirecektik:
strDirectory = objFSO.BuildPath(WshShell.SpecialFolders(“MyDocuments”), strDirectory)

Görüldüğü gibi Windows özel klasörleri içinde klasör oluşturmak için SpecialFolders parametresi kullanmak gerekiyor , Eğer Kullanıcı masaüstünde klasör oluşturmadan önce klasör ismini üstteki gibi biz değilde kendi belirlesin istiyorsak bu durumda aşağıdaki kodları kullanmamız gerekir

'www.sordum.net
On Error Resume Next 
Dim sh 
Set sh = CreateObject( "WScript.Shell") 
DesktopPath = sh.SpecialFolders( "Desktop") 
Set fs = CreateObject( "Scripting.FileSystemObject") 
Set a = fs.CreateFolder(DesktopPath & "\" & getFolderName) 
Set sh = Nothing 
Function getFolderName() 'get folder name while check for invalid folder name characters 
Do While 1 
getFolderName = InputBox( "Please enter a folder name without \ / : * ? " & """" & " < > |", "New Folder Name") 
If InStr(getFolderName, "\") + InStr(getFolderName, "/") + InStr(getFolderName, ":") + InStr(getFolderName, "*") + InStr(getFolderName, "?") + InStr(getFolderName, """") + InStr(getFolderName, "<") + InStr(getFolderName, ">") + InStr(getFolderName, "|") = 0 Then Exit Do 
Loop 
End Function 

Üstteki kodlar çalıştırıldığında aşağıdaki gibi kullanıcının klasör ismi gireceği bir boşluk belirecek ve klasör isimlerinde hangi karakterlerin kullanılmayacağı burada belirtilecektir

Klasör ismi girin

klasör ismi yazılıp Tamam butonu tıklandığında Masaüstünde o isimde bir klasör oluşacaktır , üstteki örnekleri içeren Vbs scriptlerini aşağıdaki linkten indirebilirsiniz

Download



Yorum Ekle

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

CAPTCHA