まだ作業中のBATCHファイルを変換しようとしています(Robocopyでの質問 | ソースの親フォルダーを含むミラー先)。
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
だから私が理解しようとしているのは、.vbsが実行されているフォルダである「G:\test」をそのソースに添付している理由です。
全体として、私の目標は Robocopy でファイルをコピーすることですが、ソースはユーザー入力に基づいています (したがって、フォルダー オプションを選択します)。また、バックアップ先を指定する「宛先」オプションを追加したいと思います...しかし、それは本当にオプションです。この最初の問題を整理すれば、それを理解できると確信しています。
事前にすべての支援に感謝します!