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
Set fso = CreateObject("Scripting.FileSystemObject") //绑定FSO对象
Dim tempfolder
Const TemporaryFolder = 2
Set tempfolder = fso.GetSpecialFolder(TemporaryFolder)
Wscript.Echo tempfolder
2、用WshShell的取系统环境变量
Wscript.Shell对象提供了Environment这个一个东东。返回WshEnvironment的对象合集。先看一个实例:
Set WshShell=Wscript.CreateObject("Wscript.Shell") //绑定WSH对象
Set WshSysEnv=WshShell.Environment("Process")
Wscript.Echo WshSysEnv.Item("SYSTEMROOT")
Set WshSysEnv=WshShell.Environment("Process")
Wscript.Echo WshSysEnv.Item("SYSTEMROOT")
有人会问,如果想取其他的路径呢?取决于你的系统环境变量了,系统环境变量一般又下面几个:
名称说明
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)。用户可更改。
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属性
下面biweilun给出实例:
Set WshShell=Wscript.CreateObject("Wscript.Shell")
Wscript.Echo "Yourdesktopis"&WshShell.SpecialFolders("Desktop")
Wscript.Echo "Yourdesktopis"&WshShell.SpecialFolders("Desktop")
AllUsersDesktop
AllUseRSStartMenu
AllUsersPrograms
AllUseRSStartup
Desktop
Favorites
Fonts
MyDocuments
NetHood
PrintHood
Programs
Recent
SendTo
StartMenu
Startup
Templates
AllUseRSStartMenu
AllUsersPrograms
AllUseRSStartup
Desktop
Favorites
Fonts
MyDocuments
NetHood
PrintHood
Programs
Recent
SendTo
StartMenu
Startup
Templates
Set WshShell=Wscript.CreateObject("Wscript.Shell")
For Each strFolder In WshShell.SpecialFolders
Wscript.Echo strFolder
Next
For Each strFolder In WshShell.SpecialFolders
Wscript.Echo strFolder
Next