Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] проверка версии и скачивание более нового апдейта

Ответить
Настройки темы
CMD/BAT - [решено] проверка версии и скачивание более нового апдейта

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


есть сетевая папка 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, затем если нет архива выше версии то вывести сообщение что обновлений нет.

Отправлено: 07:06, 24-01-2011

 

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


как-то так:
Код: Выделить весь код
@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%\"
)
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:46, 24-01-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо! работает, но скачивает все файлы выше версией, а хотелось бы реализовать так чтобы только один файл который выше версией.
т.е. версия проги 1.0.2 , и надо скачать файл update1.0.3
если не трудно подскажите что подправить в коде надо.
заранее благодарю!

Отправлено: 18:09, 24-01-2011 | #3


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата hant:
хотелось бы реализовать так чтобы только один файл который выше версией »
Код: Выделить весь код
@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%\"
Это сообщение посчитали полезным следующие участники:

Отправлено: 06:54, 25-01-2011 | #4


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Огромное спасибо!!! весьма признателен Вам за Вашу помошь!
Все работает!

Отправлено: 11:42, 25-01-2011 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] проверка версии и скачивание более нового апдейта

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CD и DVD - Nero 7 и более ранние версии Fel Программное обеспечение Windows 516 23-02-2021 12:05
Интернет - Opera .:[ архив ]:. Djoni Программное обеспечение Windows 1609 30-07-2011 14:30
Система - VMware .:[ архив ]:. kraiten Программное обеспечение Windows 186 18-08-2010 09:34
Безопасность - Norton AntiVirus 2005 и более ранние версии SLAWA Защита компьютерных систем 72 23-01-2006 06:30
Интернет - Internet Explorer 5 и более ранние версии Roman Go Программное обеспечение Windows 15 19-09-2004 00:32




 
Переход