![]() |
Помогите с VBS скриптом
Помогите написать скрипт который смотрит папку на флешке, сравнивет в этой папке все файлы по дате изменения, выбирает самый новый и копирует в папку на сервер при условии что файл на сервере с более старой датой изменения. Если на сервере файл более новый выдает сообщение что копирование не требуется.
Очень жду вашей помощи. |
GoodSync или бесплатные аналоги есть, это лучше чем изобретать веслоипед, причем как тут вижу с квадратными колесами
|
мы используем такой скрипт:
'VBScript Dim fso, f, folderspec, filespec Dim WshShell, app Dim strKey, strValue, strBase, strArhivFile Dim title, prompt,strArhivFolder4,strDisk,strBaseServer,strArxivServer 'On Error Resume Next Set WshShell=WScript.CreateObject("WScript.Shell") Set fso=CreateObject("Scripting.FileSystemObject") strDisk = "F:\1\2\3" strBaseServer = "\\SERVER\1\2\3" strArxivServer = "\\SERVER\1\2\3\Архив" strArhivFolder1="C:\1" strArhivFolder2="C:\1\2" strArhivFolder3="C:\SERVER\1\2\3" strArhivFolder4="C:\SERVER\1\2\3\Архив" ' Создаем папки на локальном компьютере на диске С: If not (fso.FolderExists(strArhivFolder1)) Then Set f = fso.CreateFolder(strArhivFolder1) End If If not (fso.FolderExists(strArhivFolder2)) Then Set f = fso.CreateFolder(strArhivFolder2) End If If not (fso.FolderExists(strArhivFolder3)) Then Set f = fso.CreateFolder(strArhivFolder3) End If If not (fso.FolderExists(strArhivFolder4)) Then title = "Не получилось" prompt = "Не удалось создать папку " & filespec & vbLF & _ "Увы, мон шер ..." response = MsgBox (prompt,vbYesOnly+vbCritical,title) WScript.Quit End If filespec="c:\progra~1\winrar\winrar.exe" If fso.FileExists(filespec)=vbFalse Then prompt="Не найден архиватор WinRAR" & vbLf & _ "Увы, мон шер ..." response=MsgBox(prompt,vbYesOnly+vbCritical,title) WScript.Quit End If UnZip("имя файла") UnZip("имя файла") UnZip("имя файла") UnZip("имя файла") UnZip("имя файла") SUB UnZip (file) strArhivFile = strDisk+"\" & file & ".zip" strArhivFileC = strArhivFolder4+"\"& file & ".zip" strArhivFileS = strArxivServer+"\"& file & ".zip" If not (fso.FileExists(strArhivFile)) Then 'res = MsgBox ("Файл не найден "&strArhivFile,vbYesOnly+vbCritical,"Заголовок") exit sub End If res = MsgBox ("Найден архив: " & strArhivFile & vbLf & vbLf & "Скопировать и извлечь на сервер ?", vbYesNoCancel + vbQuestion,"Вопрос пользователю") If Res <> vbYes Then Exit SUB End If res = fso.CopyFile (strArhivFile,strArhivFileC) res = fso.CopyFile (strArhivFile,strArhivFileS) strBase=strBaseServer & "\"+file If fso.FolderExists(strBase)=vbFalse Then Set f=fso.CreateFolder(strBase) End If If fso.FolderExists(strBase)=vbFalse Then title = "Не получилось" prompt = "Не найдена папка " & strBase & vbLF & _ "Увы, мон шер ..." response = MsgBox (prompt,vbYesOnly+vbCritical,title) exit Sub End If filespec=strBase & "\*.1CL" If (fso.FileExists(filespec)) Then title = "Не получилось" prompt= _ "База: " & lile & vbLf & _ "Путь: " & strBase & vbLf & _ vbLf & _ "База используется и не может быть извлечана из архива" & vbLf & _ "Попробуйте еще раз когда выйдут из программы" response = MsgBox (prompt,vbYesOnly+vbCritical,title) exit Sub End If filespec="c:\progra~1\winrar\winrar.exe" app=filespec & " x -o+ " & strArhivFileC & " " & strBase response=WshShell.Run(app,1,vbTrue) If response=0 Then title = "Информация ok" prompt = _ "База: " & file & vbLf & _ "Архив: " & strArhivFile & vbLf &_ "Скопирован в " & strArhivFileC & vbLf & _ "Скопирован в " & strArhivFileS & vbLf & _ "База извлечена: " & strBase & vbLf response = MsgBox (prompt,vbYesOnly+vbInformation,title) End If End SUB в VBS скриптах не силен, помогите модернизировать этот скриптик |
Время: 18:07. |
Время: 18:07.
© OSzone.net 2001-