vbs下一些取特殊路徑的方法總結(jié)
2019-10-26 18:01:40
供稿:網(wǎng)友
1、用FSO的SpecialFolder常數(shù)
FSO的SpecialFolder常數(shù)依賴的函數(shù)為GetSpecialFolder(SpecialFolder),很遺憾的是,SpecialFolder常數(shù)只有3個(gè),0-2,0對(duì)應(yīng)WindowsFolder,就是你的Windows文件夾,如果你的系統(tǒng)裝在C盤的話,那么返回的就是"C:/Windows"這個(gè)路徑字符串。1對(duì)應(yīng)SystemFolder,GetSpecialFolder(1)返回"C:/Windows/system32"。2代表臨時(shí)文件夾,就不要我多說(shuō)了吧?
下面給出取臨時(shí)文件夾路徑字符串的實(shí)例:
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject") //綁定FSO對(duì)象
Dim tempfolder
Const TemporaryFolder = 2
Set tempfolder = fso.GetSpecialFolder(TemporaryFolder)
Wscript.Echo tempfolder
你把上面的代碼保存為一個(gè)vbs文件打開試試,彈出了你的臨時(shí)文件夾所在的路徑。這個(gè)字符串存放在變量tempfolder里面,明白?
2、用WshShell的取系統(tǒng)環(huán)境變量
Wscript.Shell對(duì)象提供了Environment這個(gè)一個(gè)東東。返回WshEnvironment的對(duì)象合集。先看一個(gè)實(shí)例:
Set WshShell=Wscript.CreateObject("Wscript.Shell") //綁定WSH對(duì)象
Set WshSysEnv=WshShell.Environment("Process")
Wscript.Echo WshSysEnv.Item("SYSTEMROOT")
將以上代碼保存為vbs文件,運(yùn)行,是不是彈出了你的系統(tǒng)路徑?"C:/windows"對(duì)吧?
有人會(huì)問(wèn),如果想取其他的路徑呢?取決于你的系統(tǒng)環(huán)境變量了,系統(tǒng)環(huán)境變量一般又下面幾個(gè):
名稱說(shuō)明
NUMBER_OF_PROCESSORS計(jì)算機(jī)上運(yùn)行的處理器數(shù)目。
PROCESSOR_ARCHITECTURE用戶工作站使用的處理器類型。
PROCESSOR_IDENTIFIER用戶工作站的處理器ID。
PROCESSOR_LEVEL用戶工作站的處理器級(jí)。
PROCESSOR_REVISION用戶工作站的處理器版本。
OS用戶工作站所用的操作系統(tǒng)。
COMSPEC用于運(yùn)行“命令提示”窗口的命令(通常為cmd.exe)。
HOMEDRIVE本地主驅(qū)動(dòng)器(通常為C驅(qū)動(dòng)器)。
HOMEPATH用戶的默認(rèn)路徑(在WindowsNT上通常為/users/default)。
PATH路徑環(huán)境變量。
PATHEXT可執(zhí)行文件的擴(kuò)展名(通常為.com、.exe、.bat或.cmd)。
PROMPT命令提示符(通常為$P$G)。
SYSTEMDRIVE系統(tǒng)所在的本地驅(qū)動(dòng)器(例如,c:/)。
SYSTEMROOT系統(tǒng)目錄(例如,c:/winnt)。和WINDIR相同。
WINDIR系統(tǒng)目錄(例如c:/winnt)。和SYSTEMROOT相同。
TEMP存儲(chǔ)臨時(shí)文件的目錄(例如,c:/temp)。用戶可更改。
TMP存儲(chǔ)臨時(shí)文件的目錄(例如,c:/temp)。用戶可更改。
你可以用上面的變量自己替換WshSysEnv.Item("SYSTEMROOT")里面的SYSTEMROOT。
3、用WshShell的SpecialFolders屬性
SpecialFolders屬性提供WshSpecialFolders對(duì)象以便訪問(wèn)Windows的shell文件夾,例如桌面文件夾、開始菜單文件夾和個(gè)人文檔文件夾。