Попробуйте это:
@echo off
title TASKKILL
tasklist
echo _____________________________________________________________
echo Press 1 to choose PID
echo Press 2 to choose Process Name
set /p option=
if "%option%"=="1" goto :id
if "%option%"=="2" goto :proc
goto :out
:id
set /p pid="Enter the PID of the process you want to kill: "
echo %pid%
taskkill /PID %pid% /F
goto :out
:proc
set /p processName="Enter the name of the process you want to kill: "
echo %processName%
taskkill /IM %processName%.exe /F
:out
pause
Вам нужно избегать функций в нормальном потоке, поставив перед ними goto :eof
или goto :outbranch
.
Таким образом, мое изменение здесь заключалось в добавлении метки :out
и добавлении goto :out
перед этими двумя функциями .
Обратите внимание, что при использовании if
для проверки значения переменной лучше заключить в кавычки и переменную, и проверяемое вами значение и не оставлять пробелов до и после ==
, например:
if "%var%"=="value" echo "It's euqal!"
Итак, я изменил if %option% == 1
часть:)