Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

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

Ответить
Настройки темы
CMD/BAT - Сравнения двух чисел в двух файлах.

Аватара для angel_lyucifer

Старожил


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


Конфигурация

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


Изменения
Автор: angel_lyucifer
Дата: 18-04-2014
Всем привет, помогите пожалуйста создать скрипт.
У меня есть два файла Download.txt и local.txt они расположены в одной папки и в них есть такие строки:
В файле Download.txt написано //Version 6.0
В файле local.txt написано //Version 5.0
В этих файлах число меняется но всегда в файле Download.txt число больше чем в файле local.txt.
Мне нужно что бы когда число в файле Download.txt больше чем в файле local.txt то надо запустить 1.ехе если числа в этих файлах одинаковые то надо запустить 2.ехе.

-------
Век живи, век учись! =)


Отправлено: 21:55, 18-04-2014

 

Ветеран


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

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


angel_lyucifer, и больше ничего в этих файлах не написано?

Отправлено: 22:01, 18-04-2014 | #2



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

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


Аватара для angel_lyucifer

Старожил


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

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


Цитата Iska:
и больше ничего в этих файлах не написано? »
Я извиняюсь, забыл написать!
В файле local.txt написано много чего, в файле Download.txt написано кроме версии, адрес загрузки.

-------
Век живи, век учись! =)


Отправлено: 19:41, 19-04-2014 | #3


Ветеран


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

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


angel_lyucifer, можете упаковать оба файла в один архив и выложить?

Отправлено: 07:00, 20-04-2014 | #4


Аватара для angel_lyucifer

Старожил


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

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


Цитата Iska:
можете упаковать оба файла в один архив и выложить? »
Вот.. http://my-angel.ucoz.com/1.zip

-------
Век живи, век учись! =)


Отправлено: 15:01, 20-04-2014 | #5


Ветеран


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

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


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

Отправлено: 15:20, 20-04-2014 | #6


Аватара для angel_lyucifer

Старожил


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

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


Спасибо!

-------
Век живи, век учись! =)


Отправлено: 16:56, 28-04-2014 | #7



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Debian/Ubuntu - Соединение двух подсетей CJ F.A.N. Общий по Linux 4 29-08-2012 14:16
Поиск слова в двух файлах david141 Вебмастеру 0 24-04-2012 02:41
Assm - Сложение двух чисел Rebel666 Программирование и базы данных 8 22-04-2012 17:30
Установка - [решено] Установка двух ОС Windows 7(64bit) на двух разных жёстких дисках одного компьютера Klon66 Microsoft Windows 7 12 11-11-2011 01:48
Загрузка - [решено] Меню мультизагрузки для двух Windows XP и двух Windows 7 flev45 Microsoft Windows 7 9 20-11-2009 23:41




 
Переход