Я вызываю пакетный скрипт из vbscript.return value from batch script
В пакетном скрипте, в зависимости от условия, я хочу вернуть пользовательский код выхода.
@echo off
setlocal ENABLEDELAYEDEXPANSION`
for /f "usebackq" %%i in (`"%1"\fciv.exe" -md5 %2"`) do set md5_1=%%i
for /f "usebackq" %%i in (`"%1"\fciv.exe" -md5 %3"`) do set md5_2=%%i
if "!md5_1!" == "!md5_2!" (
set md5_1=
set md5_2=
exit 0
) else (
set md5_1=
set md5_2=
exit 1
)
endlocal
Я получаю значение 0 для обоих условий.
Может ли кто-нибудь мне помочь?
Он прекрасно работает меня. Отправьте свой сценарий. –
@echo off setlocal ENABLEDELAYEDEXPANSION для/f "usebackq" %% i in ('"% 1 "\ fciv.exe" -md5% 2 "') установить md5_1 = %% i для/f "usebackq" %% i in ('"% 1 "\ fciv.exe" -md5% 3 "') установить md5_2 = %% i, если "! md5_1!" == "! md5_2!" (set md5_1 = set md5_2 = exit 0) else (set md5_1 = set md5_2 = exit 1) endlocal Код фактически генерирует контрольную сумму для двух файлов и возвращает 0, если они одинаковы, возвращает 1, если они разные – Tjs
Вы можете редактировать свои вопрос, чтобы добавить код. Кроме того, вам нужно использовать 'exit/b' –