|
wewebb
初级用户
积分 66
发帖 53
注册 2009-10-9
状态 离线
|
『楼 主』:
VBS 取参数名称的问题
如果只取参数的名称,不要扩展名和路径。有简便的写法吗?
我只想到一个麻烦的写法:
for each arg in Wscript.Arguments
for each n in split(arg,"\",-1,1)
FullName = n
next
name=split(FullName,".",-1,1)
msgbox name(0)
另外,那里有 VBS 关于各个对象的详解说明,能否给个链接,百度上好多是不全的。
[ Last edited by wewebb on 2010-11-10 at 18:54 ]
|
|
2010-11-10 18:52 |
|
|
slore
铂金会员
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
『第
2 楼』:
Arguments 对象网上介绍还是详细。。。不解你要这样用?
|
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore |
|
2010-11-11 13:27 |
|
|
wewebb
初级用户
积分 66
发帖 53
注册 2009-10-9
状态 离线
|
『第
3 楼』:
是这样的。我想将任意程序拖到 VBS 里就能够在桌面上生成以该程序命名的 lnk 快捷方式。所以要用去掉路径和扩展名。
代码如下:
set objsh=CreateObject("wscript.shell")
Desktop = Objsh.SpecialFolders("Desktop") '获取当前用户桌面路径
'获取参数的 文件名(不包括路径):
for each arg in Wscript.Arguments
for each n in split(arg,"\",-1,1)
name = n
next
name=split(name,".",-1,1)
next
strName = Desktop & "\" & name(0) & ".lnk" 'name(0) 就是参数文件名去除扩展名
set exeLink=Objsh.CreateShortCut( strName ) '在桌面上建立快捷方式
exeLink.Targetpath= Wscript.Arguments(0) '定义快捷方式执行程序的路径
ExeLink.Save [ Last edited by wewebb on 2010-11-11 at 16:47 ]
|
|
2010-11-11 16:40 |
|
|
slore
铂金会员
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
『第
4 楼』:
哦。
这个是字符串的处理了。
targetpath = Wscript.Arguments(0)
sPos = Instrrev(targetpath,"\") + 1
ePos = Instrrev(targetpath,".")
If ePos > sPos Then
slen = ePos - sPos
Else
slen = Len(targetpath)
End If
name = Mid(targetpath,sPos,slen)
msgbox name
|
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore |
|
2010-11-12 17:18 |
|
|