0

我在这里使用了一些 goto,但是每当我尝试该文件时,它会在尝试 :brutus 之前直接转到 :john。为什么会这样,我该如何解决?

@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
4

1 回答 1

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
于 2013-10-03T16:26:21.257 回答