51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3185|回复: 14
打印 上一主题 下一主题

[原创] VBS中FSO的问题,我用FSO对象去复制临时文件,总是报“文件没找到”

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-8-2 14:54:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
例如临时文件里有一个cgi-bin文件
我的代码如下:
dim fs'定义fs
set fs=wscript.createobject("scripting.filesystemobject") 'fs 为FSO 实例
fs.copyfile "C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files\cgi-bin","d:\cgi-bin",true

运行时,直接报“找不到文件”,请问前辈们怎么解决这个问题
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-8-2 15:36:46 | 只看该作者
多数是系统不允许
cmd命令也不能复制,那里的文件还不能直接执行,手动复制也会自动重命名
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2010-8-3 10:25:06 | 只看该作者

回复 2# 的帖子

是啊,问题是怎么解决这些问题呀
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2017-3-3 10:21
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    4#
    发表于 2010-8-3 10:38:56 | 只看该作者
    cgi-bin是什么类型的文件, doc? txt?img?
    要将文件名+文件类型都写上,才能找到文件,例如:
    FileSystemObject.CopyFile "c:\test\*.doc", "c:\tempfolder\"
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2010-8-3 10:57:14 | 只看该作者

    回复 4# 的帖子

    全名也没用的,那个目录比较特殊,系统是没有直接操作权限的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2010-8-3 11:00:08 | 只看该作者

    回复 4# 的帖子

    哎,帅哥能不能给个实验成功的,要注意在临时文件夹里的文件啊“C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files”
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2010-8-3 15:13:54 | 只看该作者
    这个是在某个用户下的临时文件夹啊
    你登陆用户有操作权限吗
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2010-8-3 15:56:21 | 只看该作者

    回复 7# 的帖子

    我用的是Adimistrator。所谓找不到,不是看不见,或者不能右键复制,而是用FSO不能找到,怎么办啊?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2010-8-3 17:00:29 | 只看该作者

    回复 8# 的帖子

    换突破口吧。。。那个目录的文件不一样的,或者说不是实体文件

    那个目录可以同名文件,可以非法名称文件。。。显然不是和一般的文件处理相同的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
     楼主| 发表于 2010-8-4 10:18:11 | 只看该作者

    回复 9# 的帖子

    大哥,能给个解决方案不?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2010-8-4 21:40:05 | 只看该作者
    特殊文件夹要用特殊方法,哥给你个方法吧,代码如下:

    Const TEMPORARY_INTERNET_FILES = &H20&

    Set oShell = CreateObject("Shell.Application")
    Set oFolder = oShell.Namespace(TEMPORARY_INTERNET_FILES)
    Set oTarget = oShell.NameSpace( "d:\cgi-bin" )

    For Each oItem in oFolder.Items            '会拷贝所有文件名包含cgi-bin的文件到d:\cgi-bin目录
        If InStr(oItem.Name,"cgi-bin") Then
            oTarget.CopyHere oItem
        End If
    Next

    Set oTarget = Nothing
    Set oFolder = Nothing
    Set oShell= Nothing
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2010-8-5 10:58:14 | 只看该作者
    是可以,就是有些缺点,重复的文件名拷出来就不知道哪个是1,哪个是2了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2010-8-5 20:55:38 | 只看该作者
    原帖由 skyzhu 于 2010-8-5 10:58 发表
    是可以,就是有些缺点,重复的文件名拷出来就不知道哪个是1,哪个是2了。

    既然都有了突破,应该有完善解决方案
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2010-8-5 22:00:52 | 只看该作者
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-13 14:04
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]测试排长

    15#
    发表于 2010-8-6 09:02:13 | 只看该作者

    回复 1# 的帖子

    你复制的是文件,你路径是文件夹至少加个。“\”
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-26 16:46 , Processed in 0.076175 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表