标题: VBS 取参数名称的问题
[打印本页]
作者: wewebb
时间: 2010-11-10 18:52
标题: 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 ]
作者: slore
时间: 2010-11-11 13:27
Arguments 对象网上介绍还是详细。。。不解你要这样用?
作者: wewebb
时间: 2010-11-11 16:40
是这样的。我想将任意程序拖到 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 ]
作者: slore
时间: 2010-11-12 17:18
哦。
这个是字符串的处理了。
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