Я пытаюсь синхронизировать автономные файлы с VBScript.Я отредактировал код ниже, чтобы синхронизировать три пути:
Set wshShell = CreateObject( "WScript.Shell" )
strUserName = wshShell.ExpandEnvironmentStrings( "%USERNAME%" )
strPathProfile = "\\SRV01\Path1$\" & strUserName
strPathHome = "\\SRV01\Path2$\" & strUserName
strPathShared = "\\SRV01\Path3$"
SynchronizeOfflineFiles strPathProfile
SynchronizeOfflineFiles strPathShared
SynchronizeOfflineFiles strPathHome
Sub SynchronizeOfflineFiles(strSyncPath)
Dim objShell
Dim objFolderPath
Set objShell = CreateObject("shell.application")
Set objFolderPath = objShell.NameSpace(strSyncPath)
If (not objFolderPath is nothing) then
objFolderPath.Synchronize
End If
Set objFolderPath = nothing
Set objShell = nothing
End Sub
Моя единственная проблема в том, что центр синхронизации будет синхронизировать пути один за другим, в результате чего два из них потерпят неудачу.Путь сверху (в данном случае strPathProfile) будет успешным.Поэтому, если я изменю порядок, например, на
SynchronizeOfflineFiles strPathHome
SynchronizeOfflineFiles strPathShared
SynchronizeOfflineFiles strPathProfile
strPathHome будет успешным, а два других не пройдут.
Когда я использую команду WScript.Sleep 5000
Примерно так:
SynchronizeOfflineFiles strPathProfile
WScript.Sleep 30000
SynchronizeOfflineFiles strPathShared
WScript.Sleep 30000
SynchronizeOfflineFiles strPathHome
Он будет ждать синхронизации других путей, но мне нужно установить время.Можно ли дождаться завершения предыдущей синхронизации?
Я также получаю сообщение об ошибке: отсутствует механизм сценариев для расширения файла ".vbs", когда один из общих ресурсов отключен.Могу ли я позволить сценарию проверить, находится ли общий ресурс в сети и, если нет, перейти к следующему?