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
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
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 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