@TestVDK

Как сравнить файлы через командную строку?

Здравствуйте
Мне необходимо обновлять программу (exe файл) группе пользователей.

В данный момент у каждого из них есть bat файл, который:
1) Выгружает нашу программу по имени из списка процессов
2) Копирует с сервера актуальный файл программы
3) Запускает скопированную программу локально

Нужно
1) Дать возможность пользователям запускать программу несколько раз через единственный bat файл

Я так думаю, bat файл должен проверять, необходимо ли обновление, и, если необходимо, то только тогда закрывать работающую программу и копировать новую. И в любом случае выполнять запуск программы.
К сожалению, команда fc file1.exe file2.exe /b на моем компьютере работает долго (не мгновенно). Почему - сказать не могу, поскольку сталкиваюсь с ней впервые. Но во всяком случае когда я вручную заменяю файл, Windows моментально определяет, есть ли разница в файлах или они одинаковы.

Возможно задача решается совершенно с другой стороны.
Спасибо
  • Вопрос задан
  • 1045 просмотров
Пригласить эксперта
Ответы на вопрос 3
Stalker_RED
@Stalker_RED
Добавить в программу вывод версии при запуске с параметром. --version, например
Держать на сервере информацию о самой новой версии. Это может быть даже txt файл.
При запуске bat файла смотрите текущую версию, сравниваете с версией на сервере, и только если нужно - обновляете.
Ответ написан
Комментировать
piromanlynx
@piromanlynx
Системный администратор в Perfect Solutions
Можно посчитать md5/sha1 и сравнивать хеши:

https://support.microsoft.com/ru-ru/help/889768/ho...

Так же можно сравнивать время изменения файла на сервере и клиенте (но это требует того чтобы время изменения у файлов действительно менялось и шло на компах примерно близко, хотябы до минут)
Ответ написан
Комментировать
A1ejandro
@A1ejandro
youtube блогер, ИТ-специалист
Добавлю ещё одну идею. Если программа обновляется (в ней есть хоть одна измененная строчка кода), то как правило в скомпилированном виде она не будет иметь ту же самую длину в байтах. Можно сверять размер двух файлов, и если размер различен, то файлы точно не идентичны. Такая проверка не занимает много времени.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы