Пакетный скрипт для сравнения значений

Пакетный скрипт для сравнения значений
@echo off
rem  Checks if %~1 is equal to %~2 and returns 1 if true, 0 if false.
rem  DEVS! DO NOT EDIT THIS FILE!
if "%~1"=="" goto error
if "%~2"=="" goto error
if "%~1"=="%~2" goto true
if "%~1" neq "%~2" goto false

:error
setlocal
echo error occured
endlocal

:true
setlocal
echo 1
endlocal

:false
setlocal
echo 0
endlocal

Итак, всякий раз, когда я запускаю это, предполагается, что он сравнивает, равен ли параметр 1 параметру 2. Если true, он выводит 1, если false, он выводит 0.

Скрипт, похоже, работал, он сравнил 1 и 3 и вывел 0 (то есть они не были равны), но когда он сравнил 2 и 2, он вывел 1 И 0 на 2 строках. Он должен выводить только 1, а не 1 и 0. Я не могу найти никаких проблем с кодом, может кто-нибудь еще видит проблему?

Связанный контент