PDA

Показать полную графическую версию : Если файлы отличаются (по дате, по содержимому ...), то произвести замену


norest2005
27-01-2014, 07:51
Добрый день!
Как реализовать подобное на языке vbs?
Имеем файл, скажем 1.jpg, сравниваем его с тем, что лежит во временной папке. Если отличается (хоть по дате, хоть по размеру, хоть по содержимому ... - в общем другой файл), то производим замену.

На данный момент имеем содержимое bat файла

set "NewFile=C:\tmp-img\1.jpg"
set "OldFile=C:\img\1.jpg"
FC /B "%NewFile%" "%OldFile%" || (Echo F| move /y "C:\tmp-img\*.jpg" "C:\img")

Iska
27-01-2014, 08:15
Примерно так:
Option Explicit

Dim strSourceFile
Dim strDestFolder

Dim strDestFile


strSourceFile = "C:\tmp-img\1.jpg"
strDestFolder = "C:\img"

With WScript.CreateObject("Scripting.FileSystemObject")
If .FileExists(strSourceFile) Then
If .FolderExists(strDestFolder) Then
strDestFile = .BuildPath(strDestFolder, .GetFileName(strSourceFile))

If .FileExists(strDestFile) Then
If WScript.CreateObject("WScript.Shell").Run("fc.exe /b """ & strSourceFile & """ """ & strDestFile & """", 0, True) <> 0 Then
.CopyFile strSourceFile, strDestFile, True
End If
Else
.CopyFile strSourceFile, strDestFile
End If
Else
WScript.Echo "Can't find destination folder [" & strDestFolder & "]."
WScript.Quit 2
End If
Else
WScript.Echo "Can't find source file [" & strSourceFile & "]."
WScript.Quit 1
End If
End With

WScript.Quit 0

norest2005
28-01-2014, 04:00
спасибо




© OSzone.net 2001-2012