Option Explicit ''' Путь к папке резервного копирования Const backupPath = "c:\backup" Dim curPath, destPath, sScript Dim destFile, backupFile, sName Dim fso, pShell, pFolder, pItem, pFile Set fso = WScript.CreateObject("Scripting.FileSystemObject") Set pShell = WScript.CreateObject("Shell.Application") Set pFolder = pShell.BrowseForFolder(0,"Выбор папки для копирования",0) If Not pFolder Is Nothing Then Set pItem = pFolder.ParentFolder.ParseName(pFolder.Title) destPath = pItem.Path: sScript = WScript.ScriptFullName curPath = fso.GetParentFolderName(sScript) Set pFolder = fso.GetFolder(curPath) If pFolder.Files.Count > 0 Then For Each pFile In pFolder.Files If StrComp(pFile, sScript, vbTextCompare) <> 0 Then sName = fso.GetFileName(pFile) destFile = fso.BuildPath(destPath, sName) backupFile = fso.BuildPath(backupPath, sName) If fso.FileExists(destFile) Then If fso.FileExists(backupFile) Then fso.DeleteFile(backupFile) fso.MoveFile destFile, backupFile End If fso.CopyFile pFile, destFile End If Next MsgBox "Скопировано файлов: " & CStr(pFolder.Files.Count), vbInformation + vbOKOnly, "Завершено" End If End If |