VBS/WSH/JS - Если файлы отличаются (по дате, по содержимому ...), то произвести замену

Ответить
Аватара пользователя
norest2005

VBS/WSH/JS - Если файлы отличаются (по дате, по содержимому ...), то произвести замену

Сообщение norest2005 »

Добрый день!

Как реализовать подобное на языке 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

Re: VBS/WSH/JS - Если файлы отличаются (по дате, по содержимому ...), то произвести замену

Сообщение Iska »

Примерно так:


читать дальше »




Код:

Код: Выделить всё

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
Ответить

Вернуться в «Скриптовые языки администрирования Windows»