-
AutoIt
(
http://forum.oszone.net/forumdisplay.php?f=103)
Не удается сравнить два файла
Всем привет!
Подскажите, пожалуйста, как правильно сравнить два текстовых файла на предмет идентичности друг другу.
Делаю так:
Код:
#NoTrayIcon
$ipfilter = "H:\Program Files\uTorrent\ipfilter.dat"
FileOpen($ipfilter, 0)
$oldIpFilter = FileRead($ipfilter)
FileClose($ipfilter)
FileOpen(@ScriptDir & "\ipfilter.dat", 0)
$newIpFilter = FileRead(@ScriptDir & "\ipfilter.dat")
FileClose(@ScriptDir & "\ipfilter.dat")
MsgBox(64, "Old IpFilter", $oldIpFilter)
MsgBox(64, "New IpFilter", $newIpFilter)
If $oldIpFilter==$newIpFilter Then
MsgBox(64, "", "IpFilter актуален")
Else
MsgBox(64, "", "IpFilter не актуален")
EndIf
Exit
Однако, в любом случае, выскакивает окно, что IpFilter не актуален. Даже если проверяю один и тот же файл :)
В чем ошибка?
|
Ну хотябы в том, что FileOpen используется неверно, в справке же есть пример использования этой функции. Но при чтения всего файла, совсем не обязательно его открывать:
Код:
#NoTrayIcon
$sFile1 = "H:\Program Files\uTorrent\ipfilter.dat"
$sFile2 = @ScriptDir & "\ipfilter.dat"
$sOldIpFilter = FileRead($sFile1)
$sNewIpFilter = FileRead($sFile2)
MsgBox(64, "Old IpFilter", $sOldIpFilter)
MsgBox(64, "New IpFilter", $sNewIpFilter)
If $sOldIpFilter == $sNewIpFilter Then
MsgBox(64, "", "IpFilter актуален")
Else
MsgBox(64, "", "IpFilter не актуален")
EndIf
Exit
|
Цитата:
Цитата Creat0R
Ну хотябы в том, что FileOpen используется неверно »
|
То есть, открывать надо в режиме 4?
Цитата:
Цитата Creat0R
Но при чтения всего файла, совсем не обязательно его открывать: »
|
Спасибо, всё работает :)
|
Цитата:
Цитата D_Master
открывать надо в режиме 4 »
|
Нет. Я про то, что функция FileOpen() возвращает хендл (указатель), его и нужно использовать рпи чтении, см. пример в справке!
|
Время: 17:10.
© OSzone.net 2001-