Пакетный файл не пропускает строки, когда сказано перейти
Я использовал несколько gotos здесь, но всякий раз, когда я пробую файл, он идет прямо к:john, прежде чем он пытается:brutus. Почему это и как я могу это исправить?
@echo off
echo ---------------------------
echo System Online
echo ---------------------------
echo.
echo Select Tool:
goto :toolselect
:toolselect
set /p choosetool=Enter a number to select Tool:
if %choosetool%=='1' goto :hydra
if %choosetool%=='2' goto :john
if %choosetool%=='3' goto :brutus
if %choosetool%=='4' goto :nmap
if %choosetool%=='5' goto :python
if %choosetool%=='' goto :exit
:john
start OpenJohn.bat
:brutus
start C:\Users\user\Desktop\Tools\Brutus.lnk
1 ответ
Вместо этого попробуйте этот блок - двойные кавычки дают вам безопасное сравнение, включая отравляющие символы. Строки для захвата неверного ввода позволили бы вам понять, что ни одно из ваших сравнений не работает.
set "choosetool="
set /p "choosetool=Enter a number to select Tool: "
if "%choosetool%"=="1" goto :hydra
if "%choosetool%"=="2" goto :john
if "%choosetool%"=="3" goto :brutus
if "%choosetool%"=="4" goto :nmap
if "%choosetool%"=="5" goto :python
if "%choosetool%"=="" goto :exit
echo invalid input
goto :EOF