vbs怎样判断文件复制是否成功
小弟初学vbs,写了一点东西发觉关于复制后检测是不是成功了弄不出来,为什么用jc=CreateObject("Scripting.FileSystemObject").c...
小弟初学vbs,写了一点东西发觉关于复制后检测是不是成功了弄不出来,为什么用jc=CreateObject("Scripting.FileSystemObject").copyfile ("d:\*.*", "c:\")这个判断他什么也不显示呢,希望那位大虾指点下
还有就是我知道vbs能判断文件的存在,能不能按扩展名判断呢 我用这个不行jc=CreateObject("Scripting.FileSystemObject").FileExists("d:\*.txt")这个能用什么判断吗
好像不是那样的,我知道那个可以检测单个文件,但是我想的是用扩展名来检测,不检测文件名,这个都不重要,我知道可能不行的
重要的是那个复制文件的判断,假如我不知道文件名 比如我复制c:\*.txt的文件到d:\那么我不可能用那个检测是否存在那个文件,所以想的是复制的时候的返回值,比如像批处理就可以像这样 copy /y c:\*.txt d:\ &&复制成功||echo 复制错误
当我用vbs那个jc=CreateObject("Scripting.FileSystemObject").copyfile ("c:\war3\*.*", "c:\") 这个的时候返回的检测值好像没有,失败成功都没有值得,我想的就是弄这个值判断,不知道可不可以
另外非常感谢你的帮助,如果实在不行我还是把分给你,如果行情你帮帮忙 展开
还有就是我知道vbs能判断文件的存在,能不能按扩展名判断呢 我用这个不行jc=CreateObject("Scripting.FileSystemObject").FileExists("d:\*.txt")这个能用什么判断吗
好像不是那样的,我知道那个可以检测单个文件,但是我想的是用扩展名来检测,不检测文件名,这个都不重要,我知道可能不行的
重要的是那个复制文件的判断,假如我不知道文件名 比如我复制c:\*.txt的文件到d:\那么我不可能用那个检测是否存在那个文件,所以想的是复制的时候的返回值,比如像批处理就可以像这样 copy /y c:\*.txt d:\ &&复制成功||echo 复制错误
当我用vbs那个jc=CreateObject("Scripting.FileSystemObject").copyfile ("c:\war3\*.*", "c:\") 这个的时候返回的检测值好像没有,失败成功都没有值得,我想的就是弄这个值判断,不知道可不可以
另外非常感谢你的帮助,如果实在不行我还是把分给你,如果行情你帮帮忙 展开
2个回答
展开全部
'使用上面的方式,也可以,不过较为麻烦,必须要知道文件的名字才能对比,可以看一下下面的方法.使用for each ... in ... next 自动对比
'代码如下
'===========================================
orgdir = "d:\test\" '源文件的路径
targdir = "c:\test\" '拷贝到目标路径
set jc = wscript.CreateObject("Scripting.FileSystemObject")
jc.copyfile "d:\test\*.*","c:\test\" '拷贝
set dub = jc.getfolder(orgdir)
set dfs = dub.files
for each f1 in dfs
if jc.fileexists(targdir&f1.name) then '对比已经拷贝的文件是否存在于源文件内,下面两个msgbox,如果存在,提示XX文件拷贝成功,若不存在,提示XX文件拷贝失败
msgbox "恭喜!文件【 " &f1.name& " 】复制成功!",1,"提示"
else
msgbox "很抱歉!文件【 "&f1.name&" 】没有复制成功!",21,"提示"
end if
next
'代码如下
'===========================================
orgdir = "d:\test\" '源文件的路径
targdir = "c:\test\" '拷贝到目标路径
set jc = wscript.CreateObject("Scripting.FileSystemObject")
jc.copyfile "d:\test\*.*","c:\test\" '拷贝
set dub = jc.getfolder(orgdir)
set dfs = dub.files
for each f1 in dfs
if jc.fileexists(targdir&f1.name) then '对比已经拷贝的文件是否存在于源文件内,下面两个msgbox,如果存在,提示XX文件拷贝成功,若不存在,提示XX文件拷贝失败
msgbox "恭喜!文件【 " &f1.name& " 】复制成功!",1,"提示"
else
msgbox "很抱歉!文件【 "&f1.name&" 】没有复制成功!",21,"提示"
end if
next
展开全部
使用的函数都没有错,只是FileExists用法不对。应该是单个文件进行比较。请看修改后的代码:
dim jc
jc=CreateObject("Scripting.FileSystemObject").copyfile ("d:\*.*", "c:\")
if CreateObject("Scripting.FileSystemObject").FileExists("c:\a.txt") then '单个文件名,对于*.*应该逐个判断。
msgbox "文件复制成功!"
end if
dim jc
jc=CreateObject("Scripting.FileSystemObject").copyfile ("d:\*.*", "c:\")
if CreateObject("Scripting.FileSystemObject").FileExists("c:\a.txt") then '单个文件名,对于*.*应该逐个判断。
msgbox "文件复制成功!"
end if
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询