Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Пользователь


Сообщения: 140
Благодарности: 92

Профиль | Отправить PM | Цитировать


CtrlD,

Код: Выделить весь код
Option Explicit
On Error resume next

Dim objRootFile, objDestFile, objNoneFile
Dim objRootFSO, objDestFSO, objNoneFSO
Dim strPathRootFolder, strPathDestFolder
Dim strNameDest, strNameroot, strDateroot, strDateDest
Dim intErrLevel
  
strPathRootFolder = "F:\renew_oldFiles\1"    ' Контролируемая директория
strPathDestFolder = "F:\renew_oldFiles\2"    ' Директория с self-файлами 
intErrLevel = 0

Set objRootFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objDestFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objNoneFSO = WScript.CreateObject("Scripting.FileSystemObject")
   
    If objRootFSO.FolderExists(strPathRootFolder) Then
       If objRootFSO.FolderExists(strPathDestFolder) Then

          For Each objRootFile In objRootFSO.GetFolder(strPathRootFolder).Files
              strNameroot = objRootFSO.GetFileName(objRootFile)
              strDateroot = DateDiff("D", objRootFile.DateLastModified, Now)

              For Each objDestFile In objDestFSO.GetFolder(strPathDestFolder).Files
                  strNameDest = objDestFSO.GetFileName(objDestFile)
                  strDateDest = DateDiff("D", objDestFile.DateLastModified, Now)

                  IF strNameDest = strNameroot And _
                     strDateroot > strDateDest Then
                        objDestFile.Copy strPathRootFolder & "\", True
                       'WScript.Echo "File [" & strNameDest & "] was remove." 
                  End If

                  Set objNoneFile = objNoneFSO.GetFile(strPathRootFolder&"\"&strNameDest)
                      If Not objNoneFSO.FileExists(objNoneFile) Then
                         objDestFile.Copy strPathRootFolder & "\", True
                        'WScript.Echo "File [" & strNameDest & "] was created."
                      End If
              Next
          Next
        Else          
           WScript.Echo "Folder [" & strPathRootFolder & "] is not exists." 
           intErrLevel = 1      
        End If
      Else          
         WScript.Echo "Folder [" & strPathDestFolder & "] is not exists." 
         intErrLevel = 2      
      End If

 Set objRootFSO = Nothing
 Set objDestFSO = Nothing
 Set objNoneFSO = Nothing

WScript.Echo "Script done"
WScript.Quit intErrLevel
Строки, выделеные жирным курсивом - необязательны, нужны только для контроля
при проверке работы скрипта.


PS: Для начинающего: Объекты Windows Script Host

Отправлено: 21:31, 16-07-2010 | #2