Задать вопрос
@TestVDK

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

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

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

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

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

Возможно задача решается совершенно с другой стороны.
Спасибо
  • Вопрос задан
  • 1133 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Merion Academy
    Администрирование MS Windows Server
    1 месяц
    Далее
  • Нетология
    Инженер по автоматизации
    13 месяцев
    Далее
  • Skillbox
    Системный администратор с нуля
    6 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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 блогер, ИТ-специалист
Добавлю ещё одну идею. Если программа обновляется (в ней есть хоть одна измененная строчка кода), то как правило в скомпилированном виде она не будет иметь ту же самую длину в байтах. Можно сверять размер двух файлов, и если размер различен, то файлы точно не идентичны. Такая проверка не занимает много времени.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
Монетка Екатеринбург
от 130 000 до 160 000 ₽
Гринатом Петрозаводск
До 80 000 ₽
Алабуга Екатеринбург
от 127 500 ₽