请教怎么复制D盘上所有文件夹和文件到C:\123

请问如何复制D盘下所有文件夹和文件到C:\123
应该是调用FSO,CopyFolder无法操作根目录。
例如:

Dim MyFos As New FileSystemObject
MyFos.CopyFolder "d:\", "c:\123"

再例如,

CreateObject("scripting.filesystemobject").CopyFolder "d:\", "c:\123"

这两个例子就是错误的。
求解,谢谢!

------解决方案--------------------
    Dim fso As New FileSystemObject
    For Each Item In fso.GetDrive("D:").RootFolder.SubFolders
        MyFos.CopyFolder item , replace(item, "d:\", "c:\123") 
    Next
------解决方案--------------------
使用Dos命令不就OK了?



Private Sub Command1_Click()
    Shell "xcopy D:\*.txt E:\123\"
End Sub


上面只是一个例子,它不能复制文件夹,但并不代表xcopy不能复制文件夹,具体的用法请参考如下内容:

复制文件和目录树。

XCOPY source [destination] [/A 
------解决方案--------------------
 /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
                           [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
                           [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]
                           [/EXCLUDE:file1[+file2][+file3]...]

  source       指定要复制的文件。
  destination  指定新文件的位置和/或名称。
  /A           只复制有存档属性集的文件,
               但不改变属性。
  /M           只复制有存档属性集的文件,
               并关闭存档属性。
  /D:m-d-y     复制在指定日期或指定日期以后更改的文件。
               如果没有提供日期,只复制那些源时间
               比目标时间新的文件。
  /EXCLUDE:file1[+file2][+file3]...
               指定含有字符串的文件列表。每一个字符串
               必须在文件的单独行中。如果有任何
               字符串与要被复制的文件的绝对路径
               相符,那个文件将不会得到复制。
               例如,指定如 \obj\ 或 .obj 的字符串会排除
               目录 obj 下面的所有文件或带有
               .obj 扩展名的文件。
  /P           创建每个目标文件前提示。
  /S           复制目录和子目录,除了空的。