CMD/BAT - Нужна помощь в сравнении файлов и копировании
-
Major_XXXX
CMD/BAT - Нужна помощь в сравнении файлов и копировании
Доброго времени суток. Подскажите пожалуйста, как правильно написать BAT файл, который должен выполнять такую работу:
Проверить exe на локальном ПК и сравнить его с exe который находится на сервере (в локальной сети). Если файлы не идентичны (не важно что будет сравниваться, для примера, пусть сравнивает размер экзешников) - скопировать всю папку с сервера, на локальный комп с заменой файлов
P.S. может есть такая тема, но не нашел её на форуме. Пожалуйста помогите
Проверить exe на локальном ПК и сравнить его с exe который находится на сервере (в локальной сети). Если файлы не идентичны (не важно что будет сравниваться, для примера, пусть сравнивает размер экзешников) - скопировать всю папку с сервера, на локальный комп с заменой файлов
P.S. может есть такая тема, но не нашел её на форуме. Пожалуйста помогите
-
Major_XXXX
Re: CMD/BAT - Нужна помощь в сравнении файлов и копировании
А если EXE на ПК и на сервере идентичны - то необходимо запустить exe с локальной машины
-
Major_XXXX
Re: CMD/BAT - Нужна помощь в сравнении файлов и копировании
Цитата Major_XXXX:
А если EXE на ПК и на сервере идентичны - то необходимо запустить exe с локальной машины
Код:
А если EXE на ПК и на сервере идентичны - то необходимо запустить exe с локальной машины
CMD/BAT - Нужна помощь в сравнении файлов и копировании
Код:
Код: Выделить всё
@echo off
setlocal enableextensions enabledelayedexpansion
set sFileName=procexp.exe
set sLocalPath=%ProgramFiles%\Sysinternals.com\Sysinternals Suite
set sRemotePath=\\live.sysinternals.com\tools
if exist "%sLocalPath%\%sFileName%" (
if exist "%sRemotePath%\%sFileName%" (
1>nul 2>&1 fc.exe /b "%sLocalPath%\%sFileName%" "%sRemotePath%\%sFileName%" && (
"%sLocalPath%\%sFileName%"
) || (
xcopy.exe /e /f /h /r /k /y /z "%sRemotePath%\*.*" "%sLocalPath%\*.*"
)
) else (
echo Can't find remote file [%sRemotePath%\%sFileName%].
)
) else (
echo Can't find local file [%sLocalPath%\%sFileName%].
)
endlocal
exit /b 0-
Major_XXXX
Re: CMD/BAT - Нужна помощь в сравнении файлов и копировании
Подскажите пожалуйста, а где он тут сравнивает файлы?
-
Major_XXXX
Re: CMD/BAT - Нужна помощь в сравнении файлов и копировании
Цитата Major_XXXX:
а где он тут сравнивает файлы?
Цитата Iska:
Код:
а где он тут сравнивает файлы?
CMD/BAT - Нужна помощь в сравнении файлов и копировании
Цитата Iska:
Код:
Код: Выделить всё
… fc.exe /b "%sLocalPath%\%sFileName%" "%sRemotePath%\%sFileName%" …CMD/BAT - Нужна помощь в сравнении файлов и копировании
-
Major_XXXX
Re: CMD/BAT - Нужна помощь в сравнении файлов и копировании
Can't find remote file [\\******\*****\**\**\***.exe]
Хотя файл там есть... что может быть?
С этим разобрался, скобочки забыл поставить.
Файлы оно сравнило, скопировало, но запуск exe с локального ПК не происходит...
Хотя файл там есть... что может быть?
С этим разобрался, скобочки забыл поставить.
Файлы оно сравнило, скопировало, но запуск exe с локального ПК не происходит...
-
Major_XXXX
Re: CMD/BAT - Нужна помощь в сравнении файлов и копировании
Цитата Major_XXXX:
Can't find remote file [\\******\*****\**\**\***.exe]
Хотя файл там есть... что может быть?
С этим разобрался, скобочки забыл поставить.
Какие скобки?
Цитата Major_XXXX:
Файлы оно сравнило, скопировало, но запуск exe с локального ПК не происходит...
Так и не должен. Вы как сказали?
Цитата Major_XXXX:
если EXE на ПК и на сервере идентичны - то необходимо запустить exe
Так и было сделано: если идентичны — происходит запуск. Всё в рамках ТЗ . Не более.
Если думалось одно, а писалось другое, и требуется безусловный запуск приложения, то так:
Код:
Can't find remote file [\\******\*****\**\**\***.exe]
Хотя файл там есть... что может быть?
С этим разобрался, скобочки забыл поставить.
CMD/BAT - Нужна помощь в сравнении файлов и копировании
Какие скобки?
Цитата Major_XXXX:
Файлы оно сравнило, скопировало, но запуск exe с локального ПК не происходит...
CMD/BAT - Нужна помощь в сравнении файлов и копировании
Так и не должен. Вы как сказали?
Цитата Major_XXXX:
если EXE на ПК и на сервере идентичны - то необходимо запустить exe
CMD/BAT - Нужна помощь в сравнении файлов и копировании
Так и было сделано: если идентичны — происходит запуск. Всё в рамках ТЗ . Не более.
Если думалось одно, а писалось другое, и требуется безусловный запуск приложения, то так:
Код:
Код: Выделить всё
@echo off
setlocal enableextensions enabledelayedexpansion
set sFileName=procexp.exe
set sLocalPath=%ProgramFiles%\Sysinternals.com\Sysinternals Suite
set sRemotePath=\\live.sysinternals.com\tools
if exist "%sLocalPath%\%sFileName%" (
if exist "%sRemotePath%\%sFileName%" (
1>nul 2>&1 fc.exe /b "%sLocalPath%\%sFileName%" "%sRemotePath%\%sFileName%" || (
xcopy.exe /e /f /h /r /k /y /z "%sRemotePath%\*.*" "%sLocalPath%\*.*"
)
) else (
echo Can't find remote file [%sRemotePath%\%sFileName%].
)
"%sLocalPath%\%sFileName%"
) else (
echo Can't find local file [%sLocalPath%\%sFileName%].
)
endlocal
exit /b 0-
Major_XXXX
Re: CMD/BAT - Нужна помощь в сравнении файлов и копировании
Попробую рассказать ещё раз) может действительно неправильно выразил свою мысль.
есть (к примеру) 5 компов. на них установлен софт. и на сервере установлен тот же софт, в отдельную папку.
для того, чтобы не приходилось при обновлении софта инсталлировать на каждом ПК, необходим батник, который будет сверять версию exe файла на локальной машине, с той версией что установлена на сервере.
если на сервере установлена (распакована) более свежая версия:
по средствам батника (запуска у конечного пользователя) происходит следующее, копируются все файлы и папки с сервера на локальный комп, и запускается exe. если в результате сверки версий различий нету - ничего не копируется с сервера, и запускается всё тот же exe с локального компа
есть (к примеру) 5 компов. на них установлен софт. и на сервере установлен тот же софт, в отдельную папку.
для того, чтобы не приходилось при обновлении софта инсталлировать на каждом ПК, необходим батник, который будет сверять версию exe файла на локальной машине, с той версией что установлена на сервере.
если на сервере установлена (распакована) более свежая версия:
по средствам батника (запуска у конечного пользователя) происходит следующее, копируются все файлы и папки с сервера на локальный комп, и запускается exe. если в результате сверки версий различий нету - ничего не копируется с сервера, и запускается всё тот же exe с локального компа
-
Major_XXXX
Re: CMD/BAT - Нужна помощь в сравнении файлов и копировании
Попробую рассказать ещё раз) может действительно неправильно выразил свою мысль.
есть (к примеру) 5 компов. на них установлен софт. и на сервере установлен тот же софт, в отдельную папку.
для того, чтобы не приходилось при обновлении софта инсталлировать на каждом ПК, необходим батник, который будет сверять версию exe файла на локальной машине, с той версией что установлена на сервере.
если на сервере установлена (распакована) более свежая версия:
по средствам батника (запуска у конечного пользователя) происходит следующее, копируются все файлы и папки с сервера на локальный комп, и запускается exe. если в результате сверки версий различий нету - ничего не копируется с сервера, и запускается всё тот же exe с локального компа
есть (к примеру) 5 компов. на них установлен софт. и на сервере установлен тот же софт, в отдельную папку.
для того, чтобы не приходилось при обновлении софта инсталлировать на каждом ПК, необходим батник, который будет сверять версию exe файла на локальной машине, с той версией что установлена на сервере.
если на сервере установлена (распакована) более свежая версия:
по средствам батника (запуска у конечного пользователя) происходит следующее, копируются все файлы и папки с сервера на локальный комп, и запускается exe. если в результате сверки версий различий нету - ничего не копируется с сервера, и запускается всё тот же exe с локального компа
-
Major_XXXX