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

Vbscript 将所有文件从一个目录复制到另一个目录,vbscript,scripting,Vbscript,Scripting,如果文件夹2为空,我想将所有文件从folder1复制到folder2 例如:file1.txt,file2.pdf等出现在folder1中,有两个文件夹:folder1和folder2,如果其为空,folder1应将所有文件发送到folder2 这是我的密码: Option Explicit Dim fso Set fso = CreateObject("Scripting.FileSystemObject") fso.CopyFile "C:\Users\abc\Desktop\fro

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

例如:
file1.txt
file2.pdf
等出现在
folder1
中,有两个文件夹:
folder1
folder2
,如果其为空,
folder1
应将所有文件发送到
folder2

这是我的密码:

Option Explicit

Dim fso 

Set fso = CreateObject("Scripting.FileSystemObject")

fso.CopyFile "C:\Users\abc\Desktop\from\", "C:\Users\abc\Desktop\to"
如有疑问,请阅读:

object.CopyFile(源、目标[,覆盖])

参数

[……]

来源

必修的。要复制的一个或多个文件的字符串文件规范,可以包括通配符

目的地

必修的。要复制源中的一个或多个文件的字符串目标。不允许使用通配符

[……]

备注

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

改变

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
如果目标也不能包含任何文件夹,则还需要检查是否存在子文件夹。

如有疑问,请阅读:

object.CopyFile(源、目标[,覆盖])

参数

[……]

来源

必修的。要复制的一个或多个文件的字符串文件规范,可以包括通配符

目的地

必修的。要复制源中的一个或多个文件的字符串目标。不允许使用通配符

[……]

备注

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

改变

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
如果目标也必须不包含任何文件夹,则还需要检查是否存在子文件夹