首页 > 编程 > VBScript > 正文

vbs下一些取特殊路径的方法总结

2020-06-26 18:16:09
字体:
来源:转载
供稿:网友
经常有一些想学习vbs的朋友问我一些问题,昨天又有一个朋友问我取路径的问题,今天就biweilun就一并写出来,希望对大家有点帮助,呵呵
 
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都一一弹出来显示了。 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表