中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-21 21:58
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » VBS的能否检测文件是否存在? 查看 1,216 回复 12
楼 主 VBS的能否检测文件是否存在? 发表于 2007-06-29 19:53 ·  中国 浙江 电信
中级用户
★★
积分 385
发帖 156
注册 2007-01-19 02:32
19年会员
UID 76955
性别 男
状态 离线
Dim Wsh
Set fso = CreateObject("Scripting.FileSystemObject")
Set Wsh = WScript.CreateObject("WScript.Shell")

If Not Exist "xpbutton.dll" Then (msgbox "文件不存在",vbCritical+vbOKOnly,"错误!")
else
(Wsh.Run "c:\qq.exe")
end if
Set Wsh=NoThing
fso.DeleteFile(WScript.ScriptFullName)


我对VBS一窍不通,又有所兴趣,我知道我这段代码错的很离谱,请看得懂我意思的大虾帮修改一下!谢谢!
2 发表于 2007-06-29 20:05 ·  中国 天津 电信
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
Dim fso, msg
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists(filespec)) Then
msg = filespec & " 存在。"
Else
msg = filespec & " 不存在。"
End If
ReportFileStatus = ms
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
heicai +1 2007-06-29 20:49
3 发表于 2007-06-29 20:08 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
Dim Wsh,fso
Set Wsh = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")

If fso.FileExists("xpbutton.dll") Then
Wsh.Run "c:\qq.exe"
Else
MsgBox "文件不存在",vbCritical + vbOKOnly,"错误!"
End If
fso.DeleteFile(WScript.ScriptFullName)

Set fso = Nothing
Set Wsh = Nothing
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
heicai +2 2007-06-29 20:49
4 发表于 2007-06-29 20:49 ·  中国 浙江 宁波 鄞州畅联信息技术有限公司
中级用户
★★
积分 385
发帖 156
注册 2007-01-19 02:32
19年会员
UID 76955
性别 男
状态 离线
感谢两位大虾帮助,顺利成功了!
5 发表于 2007-06-29 21:32 ·  中国 浙江 宁波 鄞州畅联信息技术有限公司
中级用户
★★
积分 385
发帖 156
注册 2007-01-19 02:32
19年会员
UID 76955
性别 男
状态 离线
Originally posted by slore at 2007-6-29 08:08 PM:
Dim Wsh,fso
Set Wsh = WScript.CreateObject("WScript.Shell


再问下,假如xpbutton.ocx文件在X:\windows\system32\下的话,VBS是否有%systemroot%\system32这样的环境变量可以使用。 我试了下不行。
6 发表于 2007-06-29 21:39 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
试试这个:
Set fso = CreateObject("Scripting.FileSystemObject")
msgbox fso.GetSpecialFolder("1")


fso.GetSpecialFolder("0") = windows
fso.GetSpecialFolder("1") = windows\system32
fso.GetSpecialFolder("2") = %temp%
7 发表于 2007-06-29 22:06 ·  中国 浙江 宁波 鄞州畅联信息技术有限公司
中级用户
★★
积分 385
发帖 156
注册 2007-01-19 02:32
19年会员
UID 76955
性别 男
状态 离线
Originally posted by zh159 at 2007-6-29 09:39 PM:
试试这个:
Set fso = CreateObject("Scripting.FileSystemObject")
msgbox fso.GetSpecialFolder("1")


fso.GetSpecialFolder("0") = windows
fso.GetSpe ...




Set fso = CreateObject("Scripting.FileSystemObject")
msgbox fso.GetSpecialFolder("1")


MSGBOX弹环境变量的路径是行。
但是
set a=fso.GetSpecialFolder("1")
If fso.FileExists("a\xpbutton.ocx")
却不行

不知道怎么搞
8 发表于 2007-06-29 22:18 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
path=fso.GetSpecialFolder("1")
If fso.FileExists(path & "\xpbutton.ocx")
变量不要"",字符才要
9 发表于 2007-06-29 22:23 ·  中国 浙江 宁波 鄞州畅联信息技术有限公司
中级用户
★★
积分 385
发帖 156
注册 2007-01-19 02:32
19年会员
UID 76955
性别 男
状态 离线
Originally posted by zh159 at 2007-6-29 10:18 PM:
path=fso.GetSpecialFolder("1")
If fso.FileExists(path & "\xpbutton.ocx")
变量不要"",字符才要


感谢关注我的问题,终于得到解决!
10 发表于 2007-06-29 22:24 ·  中国 浙江 宁波 鄞州畅联信息技术有限公司
中级用户
★★
积分 385
发帖 156
注册 2007-01-19 02:32
19年会员
UID 76955
性别 男
状态 离线
If fso.FileExists(path & "\xpbutton.ocx") or if fso.FileExists("xpbutton.ocx") Then
Wsh.Run "mm.exe"


问下这语句为什么不行,我想同时判断两处地方。
11 发表于 2007-06-29 22:32 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线

Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists(path & "\xpbutton.ocx") or fso.FileExists("xpbutton.ocx")) Then Wsh.Run "mm.exe"

如果分行,后面还要加上end if

Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists(path & "\xpbutton.ocx") or fso.FileExists("xpbutton.ocx")) Then
Wsh.Run "mm.exe"
end if
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
heicai +2 2007-06-30 11:44
12 发表于 2007-06-30 11:45 ·  中国 浙江 电信
中级用户
★★
积分 385
发帖 156
注册 2007-01-19 02:32
19年会员
UID 76955
性别 男
状态 离线
Originally posted by zh159 at 2007-6-29 10:32 PM:

Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists(path & "\xpbutton.ocx") or fso.FileExists("xpbutton.ocx")) Then Wsh.Run "mm.e ...

对你的热心再次表示感谢
13 发表于 2007-06-30 23:41 ·  中国 四川 成都 联通
中级用户
★★
积分 346
发帖 103
注册 2004-04-06 00:00
22年会员
UID 21852
性别 男
状态 离线
探测文件是否存在.vbs
on error resume next

'By est, 2007-2-2

set a=LoadPicture(inputbox(""))
if err.number = 70 or err.number=0 then
msgbox "exist"
else
wscript.echo "not exist!" & vbnewline & err.number
end if
论坛跳转: