将所有文件从一个目录复制到另一个目录

时间:2018-07-12 16:46:59

标签: vbscript scripting

如果文件夹2为空,我想将所有文件从文件夹1复制到文件夹2。

例如:file1.txt中存在file2.pdffolder1等,并且有两个文件夹:folder1folder2,以及{{1} }应该将所有文件发送到folder1(如果为空)。

这是我的代码:

folder2

1 个答案:

答案 0 :(得分:1)

如有疑问,请阅读documentation

  

object.CopyFile ( source, destination[, overwrite] )

     

参数

     

[...]

     

source
  需要。字符串文件规范,可以包含要复制的一个或多个文件的通配符。

     

destination
  需要。要将文件复制到源文件中的字符串目标。不允许使用通配符。

     

[...]

     

备注

     

通配符只能在source参数的最后一个路径部分中使用。例如,您可以使用:
  [...]
  如果源包含通配符,或者目标以路径分隔符(\)结尾,则假定目标是要在其中复制匹配文件的现有文件夹。否则,将目的地视为要创建的文件的名称。

更改

fso.CopyFile "C:\Users\abc\Desktop\from\", "C:\Users\abc\Desktop\to"

fso.CopyFile "C:\Users\abc\Desktop\from\*.*", "C:\Users\abc\Desktop\to\"

,该代码会将所有内容从源文件夹复制到目标文件夹。

但是,由于您只想在目标文件夹为空时进行复制,因此您需要首先检查一下:

If fso.GetFolder("C:\Users\abc\Desktop\to").Files.Count = 0 Then
    fso.CopyFile "C:\Users\abc\Desktop\from\*.*", "C:\Users\abc\Desktop\to\"
End If

如果目标位置也不能包含任何文件夹,则还需要检查子文件夹的存在。