angel_lyucifer |
18-04-2014 21:55 2340228 |
Сравнения двух чисел в двух файлах.
Всем привет, помогите пожалуйста создать скрипт.
У меня есть два файла Download.txt и local.txt они расположены в одной папки и в них есть такие строки:
В файле Download.txt написано //Version 6.0
В файле local.txt написано //Version 5.0
В этих файлах число меняется но всегда в файле Download.txt число больше чем в файле local.txt.
Мне нужно что бы когда число в файле Download.txt больше чем в файле local.txt то надо запустить 1.ехе если числа в этих файлах одинаковые то надо запустить 2.ехе.
|
angel_lyucifer, и больше ничего в этих файлах не написано?
|
angel_lyucifer |
19-04-2014 19:41 2340632 |
Цитата:
Цитата Iska
и больше ничего в этих файлах не написано? »
|
Я извиняюсь, забыл написать!
В файле local.txt написано много чего, в файле Download.txt написано кроме версии, адрес загрузки.
|
angel_lyucifer, можете упаковать оба файла в один архив и выложить?
|
angel_lyucifer |
20-04-2014 15:01 2340881 |
|
Примерно так (сравнение только по старшему номеру версии):
читать дальше »
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
set sLocalFile=local.txt
set sRemoteFile=Download.txt
set sProgramForRemoteVersionGreaterThanLocalVersion=1.exe
set sProgramForRemoteVersionIsEqualLocalVersion=2.exe
if exist "%sLocalFile%" (
if exist "%sRemoteFile%" (
for /f "usebackq tokens=2 delims=. " %%i in (
`type "%sLocalFile%" ^| findstr.exe /r /i /c:"//Version .\.." 2^>nul`
) do set /a iLocalVersion = %%i
for /f "usebackq tokens=2 delims=. " %%i in (
`type "%sRemoteFile%" ^| findstr.exe /r /i /c:"//Version .\.." 2^>nul`
) do set /a iRemoteVersion = %%i
if defined iLocalVersion if defined iRemoteVersion (
if !iRemoteVersion! gtr !iLocalVersion! (
if exist "%sProgramForRemoteVersionGreaterThanLocalVersion%" (
"%sProgramForRemoteVersionGreaterThanLocalVersion%"
) else (
echo Not found [%sProgramForRemoteVersionGreaterThanLocalVersion%].
exit /b 3
)
) else if !iRemoteVersion! equ !iLocalVersion! (
if exist "%sProgramForRemoteVersionIsEqualLocalVersion%" (
"%sProgramForRemoteVersionIsEqualLocalVersion%"
) else (
echo Not found [%sProgramForRemoteVersionIsEqualLocalVersion%].
exit /b 4
)
) else (
rem !iRemoteVersion! lss !iLocalVersion!
rem Nothing to do
)
)
) else (
echo Remote file [%sRemoteFile%] not found.
exit /b 2
)
) else (
echo Local file [%sLocalFile%] not found.
exit /b 1
)
endlocal
exit /b 0
|
angel_lyucifer |
28-04-2014 16:56 2344180 |
Спасибо!
|
Время: 02:00.
© OSzone.net 2001-