VB复制文件夹中文件,以指定路径的文件夹中文件复制到另一个文件夹!

不是把整个文件夹复制过去哦,是把里面所有文件复制到文件夹!用这个语句怎么不行呀Shell"xcopyC:\aaD:\aa\/e/c/y",0... 不是把整个文件夹复制过去哦,是把里面所有文件复制到文件夹!用这个语句怎么不行呀Shell "xcopy C:\aa D:\aa\ /e /c /y", 0 展开
 我来答
zdingyun
2016-06-07 · 知道合伙人软件行家
zdingyun
知道合伙人软件行家
采纳数:15429 获赞数:48176
1982年上海业余工业大学化工系毕业 现退休

向TA提问 私信TA
展开全部

VB6.0使用CopyFile 方法来实现把一个或多个文件从一个地方复制到另一个地方。

  1. CopyFile 方法。       

    描述,把一个或多个文件从一个地方复制到另一个地方。

  2. 语法:

  3. 说明

    通配符只能用在 source 参数的最后一个路径部件。例如你可以在下面请况使用通配符:

    FileSystemObject.CopyFile "c:\mydocuments\letters\*.doc", "c:\tempfolder\"

    但下面情况不能使用:

    FileSystemObject.CopyFile "c:\mydocuments\*\R1???97.xls", "c:\tempfolder"

    如果 source 包含通配符或 destination以路径分隔符(\)为结尾,则认为 destination是一个已存在文件夹,在其中复制相匹配的文件。否则认为 destination
    是一个要创建文件的名字。不论是那种情况,当复制一个文件时,可能发生三种事件。

    1. 如果 destination 不存在,source 得到复制。这是通常的情况。

    2.如果 destination 是一个已存在的文件,则当 overwrite 值为 False 时发生一个错误,否则,source的复制文件将试图覆盖已存在文件。

    3.如果 destination 是一个目录,发生一个错误

    如果使用通配符的 source 不能和任何文件匹配,同样产生一个错误。CopyFile
    方法停止在它遇到的第一个错误上。不要试图回卷或撤消错误发生前所做的任何改变。

1_1_8881_1_888
2014-02-25 · TA获得超过855个赞
知道小有建树答主
回答量:391
采纳率:50%
帮助的人:365万
展开全部

VB里Shell相当于调用“运行框”,而不是命令提示符cmd。xcopy是cmd的命令。

要这样

Shell "cmd /c xcopy C:\aa D:\aa\ /e /c /y", 0

其中参数/c的意思是执行命令行的命令然后终止。更多参数选项可以通过

cmd /?

来查看。


还有问题请追问

(我的回答是建立在你xcopy的使用方法没错的基础上)

追问
路径写出来就可以复制过去,如C:\aa,为什么我获取的路径用字符串表示写入上述形势中不行呢,如:y_path=C:\aa
md_path=D:\aa\
Shell "cmd /c xcopy y_path md_path/e /c /y", 0
这样为什么不行呢
追答

你是刚学编程吗?"cmd /c xcopy  y_path  md_path/e /c /y"是一个字面值常量字符串,y_path和md_path不会作为变量代入的。此外前两句中字符串要加引号。应该这样

y_path = """C:\aa"""
md_path = """D:\aa\"""
Shell "cmd /c xcopy " & y_path & " " & md_path & " /e /c /y", 0


前两句中有三个引号的原因是:cmd命令中,带有空格的路径必须在引号中。而vb里为了在字符串里表示引号需要写两个引号。比如

""""""""

这实际上是一个由三个双引号组成的字符串。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式