vbs 把指定文件夹复制到当前文件夹下(vbs所在的文件夹),代码怎么写?

bat也行,只要一个程序,能把指定的文件夹整个复制到该程序所在的目录就行了。

===================代码========================
Const FOF_CREATEPROGRESSDLG = &H0&
ParentFolder = "D:\目的地" '这里是要拷贝到的目的文件夹
Directory_Path="D:\需要复制的文件夹" '这里是要复制的文件夹
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(ParentFolder)
objFolder.CopyHere Directory_Path, FOF_CREATEPROGRESSDLG
MsgBox "拷贝完成!"
=========================代码=======================追问

我的意思是要拷贝到【运行的vbs文件】所在的文件夹,不是固定的,比如我把vbs文件放在【D:\我的文档】运行,那对应文件夹就复制到【D:\我的文档】,vbs文件若在其他地方运行,对应的文件夹就复制到其他的地方

追答

===================代码========================
Const FOF_CREATEPROGRESSDLG = &H0&
ParentFolder = createobject("Scripting.FileSystemObject").GetFolder(".").Path '这里是要拷贝到的目的文件夹
Directory_Path="D:\需要复制的文件夹" '这里是要复制的文件夹
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(ParentFolder)
objFolder.CopyHere Directory_Path, FOF_CREATEPROGRESSDLG
MsgBox "拷贝完成!"
=========================代码=======================

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-09-25
其实知道cmd中有个xcopy的命令就是复制文件夹的,
我们只需要调用这个命令即可:

set ws=wscript.createobject("wscript.shell")
ws.run"cmd /c xcopy 需要复制的文件夹 目的地 /e"

其中需要复制的文件夹、目的地,改为自己的;
如果我想把C:\Program Files\aaa复制到D:\aaa代码就是这样的:

set ws=wscript.createobject("wscript.shell")
ws.run"cmd /c xcopy C:\Program Files\aaa D:\aaa /e"
注意几点:
一,D:\aaa一定要打aaa,如果不打就会将aaa里的文件放在D:\ 会造成文件摆放乱,
一定要加参数/e,不打会复制文件不全的.
第2个回答  2019-11-13
运行a.vbs后获取到的当前文件夹就是a.vbs文件所在目录啊!
我不知道你这样说的当前文件夹不是a.vbs所在文件夹是什么意思?
相似回答