我正在尝试转换我仍在处理的 BATCH 文件(问题在Robocopy | Mirror Destination Include Source Parent Folder)。
我已经取得了一些进展,我转向 VB 的原因是添加更多功能,例如添加一个对话框以要求用户浏览他们想要备份的文件夹......
现在是我目前拥有的代码(仅从我的原始 .bat 文件部分转换);
Dim Command1
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(0, "Example", 1, "c:\Programs")
If objFolder Is Nothing Then
Wscript.Quit
End If
wscript.Echo "folder: " & objFolder.title & " Path: " & objFolder.self.path
sCmd = "%windir%\System32\Robocopy.exe "
sDate = Day(Now) & "-" & Month(Now) & "-" & Year(Now)
sTime = Hour(Now) & "-" & Minute(Now) & "-" & Second(Now)
sSource = objFolder & " "
sDestination = "Backups\"& Year(Now) &"\"& Month(Now) &"\"& Day(Now) &"\ "
sLogDir = "Backups\Logs\"& Year(Now) &"\"& Month(Now) &"\"& Day(Now) &"\ "
sSwitches = "/SEC /E /Log:"& sTime &".txt"
Set objShell = CreateObject("Wscript.Shell")
objShell.Run(sCmd & sSource & sDestination & sSwitches)
我的问题是根据日志文件会发生这种情况;
Source = G:\test\delete\
Dest = G:\test\Backups\2013\10\23\
同时,真正的来源是;
C:\Users\User\Desktop\delete
所以我想弄清楚为什么它将“G:\ test”(运行.vbs的文件夹)附加到它的源。
总而言之,我的目标是让 Robocopy 复制文件,但源基于用户输入(因此选择文件夹选项)。我还想添加一个“目标”选项,您可以指定备份到的位置...但这确实是可选的,我敢肯定,如果我对第一个问题进行排序,我可以弄清楚这一点。
提前感谢您的任何帮助!