vbs下一些取特殊路徑的方法總結
2020-07-26 11:56:04
供稿:網友
1、用FSO的SpecialFolder常數
FSO的SpecialFolder常數依賴的函數為GetSpecialFolder(SpecialFolder),很遺憾的是,SpecialFolder常數只有3個,0-2,0對應WindowsFolder,就是你的Windows文件夾,如果你的系統裝在C盤的話,那么返回的就是"C:/Windows"這個路徑字符串。1對應SystemFolder,GetSpecialFolder(1)返回"C:/Windows/system32"。2代表臨時文件夾,就不要我多說了吧?
下面給出取臨時文件夾路徑字符串的實例:
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject") //綁定FSO對象
Dim tempfolder
Const TemporaryFolder = 2
Set tempfolder = fso.GetSpecialFolder(TemporaryFolder)
Wscript.Echo tempfolder
你把上面的代碼保存為一個vbs文件打開試試,彈出了你的臨時文件夾所在的路徑。這個字符串存放在變量tempfolder里面,明白?
2、用WshShell的取系統環境變量
Wscript.Shell對象提供了Environment這個一個東東。返回WshEnvironment的對象合集。先看一個實例:
Set WshShell=Wscript.CreateObject("Wscript.Shell") //綁定WSH對象
Set WshSysEnv=WshShell.Environment("Process")
Wscript.Echo WshSysEnv.Item("SYSTEMROOT")
將以上代碼保存為vbs文件,運行,是不是彈出了你的系統路徑?"C:/windows"對吧?
有人會問,如果想取其他的路徑呢?取決于你的系統環境變量了,系統環境變量一般又下面幾個:
名稱說明
NUMBER_OF_PROCESSORS計算機上運行的處理器數目。
PROCESSOR_ARCHITECTURE用戶工作站使用的處理器類型。
PROCESSOR_IDENTIFIER用戶工作站的處理器ID。
PROCESSOR_LEVEL用戶工作站的處理器級。
PROCESSOR_REVISION用戶工作站的處理器版本。
OS用戶工作站所用的操作系統。
COMSPEC用于運行“命令提示”窗口的命令(通常為cmd.exe)。
HOMEDRIVE本地主驅動器(通常為C驅動器)。
HOMEPATH用戶的默認路徑(在WindowsNT上通常為/users/default)。
PATH路徑環境變量。
PATHEXT可執行文件的擴展名(通常為.com、.exe、.bat或.cmd)。
PROMPT命令提示符(通常為$P$G)。
SYSTEMDRIVE系統所在的本地驅動器(例如,c:/)。
SYSTEMROOT系統目錄(例如,c:/winnt)。和WINDIR相同。
WINDIR系統目錄(例如c:/winnt)。和SYSTEMROOT相同。
TEMP存儲臨時文件的目錄(例如,c:/temp)。用戶可更改。
TMP存儲臨時文件的目錄(例如,c:/temp)。用戶可更改。
你可以用上面的變量自己替換WshSysEnv.Item("SYSTEMROOT")里面的SYSTEMROOT。
3、用WshShell的SpecialFolders屬性
SpecialFolders屬性提供WshSpecialFolders對象以便訪問Windows的shell文件夾,例如桌面文件夾、開始菜單文件夾和個人文檔文件夾。
下面biweilun給出實例:
Set WshShell=Wscript.CreateObject("Wscript.Shell")
Wscript.Echo "Yourdesktopis"&WshShell.SpecialFolders("Desktop")
這是一個彈出你的桌面文件夾所在的路徑的字符串,當然你也可以選擇用一個字符串來保存它。那么,SpecialFolders屬性一共有那些呢?
AllUsersDesktop
AllUsersStartMenu
AllUsersPrograms
AllUsersStartup
Desktop
Favorites
Fonts
MyDocuments
NetHood
PrintHood
Programs
Recent
SendTo
StartMenu
Startup
Templates
以上的文件夾大家看就能猜到這是什么路徑了吧?如果你認為我寫得不全,你可以自己使用下面的腳本代碼看:
Set WshShell=Wscript.CreateObject("Wscript.Shell")
'htp://hi.baidu.com/biweilun
'Listallspecialfolders
For Each strFolder In WshShell.SpecialFolders
Wscript.Echo strFolder
Next
你會發現所有可用的SpecialFolders都一一彈出來顯示了。