如果文件夹2为空,我想将所有文件从文件夹1复制到文件夹2。
例如:file1.txt
中存在file2.pdf
,folder1
等,并且有两个文件夹:folder1
和folder2
,以及{{1} }应该将所有文件发送到folder1
(如果为空)。
这是我的代码:
folder2
答案 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
如果目标位置也不能包含任何文件夹,则还需要检查子文件夹的存在。