我有一系列文件夹/子文件夹组合。我的子程序获取文件夹组合,以及常量路径和提供的日期戳,并构建命令,返回变量“rcmd” -
For each location in myArray
Call RoboCopy
MsgBox rcmd
Next
'Sub for the robocopy command
Sub RoboCopy
infolder = location
arr2 = Split(location,"\")
outfolder = arr2(0)
rcmd = "robocopy " & IN_PATH & "\" & infolder & " " & OUT_PATH & "\" _
& outfolder & " /XO /MAXAGE:2 /NP /Log+:C:\OKC_v13_to_v15_copy_" & stamp & ".log"
End Sub
如你所见,我现在有“MsgBox”帮助。 MsgBox始终正确显示我需要的命令。但是,只要我尝试将其更改为 -
For each location in myArray
Call RoboCopy
Wsh.Run rcmd, 0, true
Next
它没有做任何事情。我是否需要提供命令我试图以不同的方式运行Wsh.Run?顺便说一句,Wsh已被定义为WScript.Shell。
答案 0 :(得分:0)
很多事情都可能出错 - 我
答案 1 :(得分:0)
我没有使用Robocopy
,但我脑子里有两件事。首先,名为Wsh
的变量对我不起作用(不确定原因)。其次,更重要的是,我认为你需要致电CMD.exe
,即:
Set WshShell = CreateObject("WScript.Shell")
For each location in myArray
Call RoboCopy
WshShell.Run "cmd /c " & rcmd, 0, True
Next