菜单

复制当前路线的拥有文件到指定文件夹【两种办法】

2019年1月19日 - LINUX
复制当前文件夹下所有的文件名称

复制的文件类型一:

DIR *.* /B> XXX.txt

【引用地址】http://www.exceltip.net/thread-54671-1-1.html

 

怎么复制当前路线的具备文件到指定文件夹

复制的文件类型二:

DIR *.* /B> XXX.xls

方法一:**FileCopy **
可在VBA中一直引用,单个文件的copy。所以本例中用循环+复制成功。
语法:
FileCopy 源文件名,目的文件名 【三个参数都是必选的,且都含有路径。】

 

注:即使想要对一个已打开的文书使用 FileCopy 语句,则会发出错误。所以用了
ActiveWorkbook.SaveCopyAs +完整路径

代码:

  1. Sub 复制当前路线的有着文件到指定文件夹_FileCopy()

  2. t = Timer

  3. Dim 当前路线 As String, 目的路径 As String

  4. Dim fs

  5. On Error Resume Next

  6. 脚下路线 = ThisWorkbook.Path & “”

  7. 目标路径 = “C:\汇总数据” ‘目标目录

  8. fs = Dir(当前路线 & ““) ‘假使只复制xls则把 “” 改成 “*.xls”)

  9. Do While fs <> “”

  10. FileCopy 当前路线 & fs, 目的路径 & fs

  11. fs = Dir

  12. Loop

  13. ActiveWorkbook.SaveCopyAs 目的路径 & ThisWorkbook.Name

  14. ‘*******假诺想要对一个已开拓的文件使用 FileCopy
    语句,则会发生错误******

  15. MsgBox Format(Timer – t, “0.0000”)

  16. End Sub

复制代码

方法二:CopyFile
需调用FileSystemObject,五个文件可采纳通配符。
语法:

object.CopyFile source, destination[, overwrite]

**CopyFile **格局语法有如下几有的:

| 部分 | 描述 |
| object | 必需的。object一味是一个 **FileSystemObject 的名字。
|
| source |
必需的。指明一个或六个要被复制文件的字符串文件表达,它可以包含通配符。
|
| destination | 必需的。指明 source中的一个或几个文件要被复制到的接受端的字符串,不容许有通配符。 |
| overwrite | 选项的。
Boolean
值,它象征存在的文书是否被掩盖。即便是 True,文件将被遮盖;固然是False,它们不被覆盖。缺省值是 True。注意即便 destination不无只读属性设置,不论 overwrite 值如何,CopyFile **都将破产。 |

代码:

  1. Sub 复制当前路线的所有文件到指定文件夹_CopyFile()

  2. t = Timer

  3. Dim Fso As Object

  4. Dim 当前路线 As String, 目的路径 As String

  5. 眼下路线 = ThisWorkbook.Path & “*.” ‘若是只复制xls则把 “.” 改成
    .xls”

  6. 对象路径 = “C:\集中数据” ‘目的路径

  7. Set Fso = CreateObject(“Scripting.FileSystemObject”)

  8. Fso.CopyFile 当前路线, 目的路径

  9. Set Fso = Nothing

  10. MsgBox Format(Timer – t, “0.0000”)

  11. End Sub

复制代码 方法三:XCopy
批处理,shell调用
**文中用了 ****shell ****Environ(“ComSpec”) **
其间:Environ(“ComSpec”)
可以取得下列文字”c:\windows\system32\cmd.exe”

语法:
XCOPY source [destination]

| source | 指定要复制的文本。 |
| destination | 指定新文件的地方和/或称谓。 |

点名要复制文件也可带通配符。还隐含众多参数。XCOPY是COPY的恢宏,可以把指定的目录连文件和目录结构一并拷贝,但不可能拷贝系统文件。
代码:

  1. Sub 复制当前路线的兼具文件到指定文件夹_XCOPY()

  2. t = Timer

  3. Dim 当前路线 As String, 目标路径 As String

  4. 眼前路线 = ThisWorkbook.Path & “*.” ‘倘使只复制xls则把 “.” 改成
    .xls”

  5. 对象路径 = “C:\会聚数据” ‘目标路径

  6. Shell Environ(“comspec”) & ” /c xcopy ” & 当前路线 & ” ” & 目的路径,
    vbHide

  7. MsgBox Format(Timer – t, “0.0000”)

  8. End Sub

复制代码

三种办法速度相相比较
附件中有文件101个,每个约20K左右
FileCopy:约0.3秒
CopyFile:约0.06秒

XCopy: 约0.007秒

行使批处理,超快。
附件:
<ignore_js_op style=”word-wrap: break-word; color: rgb(68, 68, 68);
font-family: Tahoma, Deng; font-size: 14px; font-style: normal;
font-variant: normal; font-weight: normal; letter-spacing: normal;
line-height: normal; orphans: auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
255);”>

图片 1

image

复制当前路线的拥有文件到指定文件夹_芐雨.zip
(1.36 MB, 下载次数: 318)</ignore_js_op>

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图