Показать полную графическую версию : [решено] проверка версии и скачивание более нового апдейта
есть сетевая папка update там находяться самораспаковывающиеся архивы:
update1.0.1, update1.0.2, update1.0.3, update1.0.4.
есть программа, в корневом каталоге проги папка version, там файл version.inf содержание которого всего одна строка Version=1.0.2 содержимое которой будет меняться взависимости какой патч установлен.
подскажите как реализовать скачивание только архива который выше версией указаной в version.inf.
т.е. update1.0.3, затем если нет архива выше версии то вывести сообщение что обновлений нет.
как-то так:
@echo off
SETLOCAL EnableDelayedExpansion
set "MyProgPath=c:\Program Files\My Program"
set "RemotePath=\\MyServer\Share"
for /f "usebackq tokens=2-4 delims==. " %%a in ("%MyProgPath%\version.inf") do (
set "$b=0%%b"& set "$c=0%%c"& set "$v=%%a!$b:~-2!!$c:~-2!"
)
for /f "tokens=1-3 delims=update." %%a in ('dir /b/a-d "%RemotePath%\update*.exe"') do (
set "$b=0%%b"& set "$c=0%%c"& set "$n=%%a!$b:~-2!!$c:~-2!"
if !$n! gtr !$v! copy /b/y/v/z "%RemotePath%\update%%a.%%b.%%c.exe" "%MyProgPath%\"
)
Спасибо! работает, но скачивает все файлы выше версией, а хотелось бы реализовать так чтобы только один файл который выше версией.
т.е. версия проги 1.0.2 , и надо скачать файл update1.0.3
если не трудно подскажите что подправить в коде надо.
заранее благодарю!
хотелось бы реализовать так чтобы только один файл который выше версией »
@echo off
SETLOCAL EnableDelayedExpansion
set "MyProgPath=c:\Program Files\My Program"
set "RemotePath=\\MyServer\Share"
for /f "usebackq tokens=2-4 delims==. " %%a in ("%MyProgPath%\version.inf") do (
set "$b=0%%b"& set "$c=0%%c"& set "$v=%%a!$b:~-2!!$c:~-2!"
)& set "$m=999999"& set "$f="
for /f "tokens=1-3 delims=update." %%a in ('dir /b/a-d "%RemotePath%\update*.exe"') do (
set "$b=0%%b"& set "$c=0%%c"& set "$n=%%a!$b:~-2!!$c:~-2!"
if !$n! gtr !$v! if !$n! lss !$m! set "$m=!$n!"& set "$f=update%%a.%%b.%%c.exe"
)
if defined $f copy /b/y/v/z "%RemotePath%\!$f!" "%MyProgPath%\"
Огромное спасибо!!! весьма признателен Вам за Вашу помошь!
Все работает!
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.