![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-30 08:54 |
共 47,813 主题排行 / 349,918 发帖 / 今日 0 篇 / 48,278 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]FileExists方法的运行结果和预期相反(附代码) |
| 可打印版本 993 / 8 |
| 第1楼 dopodelf | 发表于 2009-01-16 14:04 |
| 新手上路 发帖 4 积分 5 | |
|
[求助]FileExists方法的运行结果和预期相反(附代码) On Error Resume Next
filespec="d:\sources.list" Set myFso=CreateObject("Scripting.FileSystemObject") If (getfso=myFso.FileExists(filespec)) Then wscript.echo getfso Else wscript.echo "文件或文件夹不存在" End If Set fso=Nothing 源程序如上,文件sources.list实实在在地在D盘根目录下存在,但是运行结果却是"文件或文件夹不存在",而如果我把两句echo语句换一下位置,输出结果是空白。 不知道问题究竟出在哪里,请大家帮忙分析一下问题所在,谢谢! |
|
| 第2楼 radem | 发表于 2009-01-16 14:15 |
| 高级用户 发帖 383 积分 691 | |
|
Set myfso=Nothing吧
|
|
| 第3楼 slore | 发表于 2009-01-16 14:16 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
getfso 初始化为0即为假
myFso.FileExists(filespec)) 文件存在所以为真 假=真?不成立……进入else |
|
| 第4楼 radem | 发表于 2009-01-16 14:32 |
| 高级用户 发帖 383 积分 691 | |
|
On Error Resume Next
filespec="d:\sources.list" Set myFso=CreateObject("Scripting.FileSystemObject") If myFso.FileExists(filespec)=True Then wscript.echo filespec & " 存在" Else wscript.echo "文件或文件夹不存在" End If Set myFso=Nothing |
|
| 第5楼 dopodelf | 发表于 2009-01-16 14:32 |
| 新手上路 发帖 4 积分 5 | |
|
非常感谢slore,我一直以为getfso=myFso.FileExists(filespec)这样写是赋值,原来在if后面就变成判断了。那我如果要在这里赋值该怎么写呢?
|
|
| 第6楼 dopodelf | 发表于 2009-01-16 14:36 |
| 新手上路 发帖 4 积分 5 | |
|
谢谢radem的修改指正!!
|
|
| 第7楼 radem | 发表于 2009-01-16 15:24 |
| 高级用户 发帖 383 积分 691 | |
|
4楼不行么?已经赋值给filespec了还给getfso就没必要了吧
确实要的话,改为: |
|
| 第8楼 zydmz | 发表于 2009-01-16 19:52 |
| 新手上路 发帖 7 积分 8 | |
|
On Error Resume Next
filespec="d:\sources.list" Set myFso=CreateObject("Scripting.FileSystemObject") If myFso.FileExists(filespec) Then wscript.echo "文件存在" Else wscript.echo "文件不存在" End If Set fso=Nothing |
|
| 第9楼 mountvol | 发表于 2009-01-17 10:24 |
| 初级用户 发帖 117 积分 186 | |
|
还是习惯用Err:
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |