0
我在這裏使用了幾個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
的根本問題是''==在'if'聲明匹配STRINGS的''==,所以左邊的加引號的字符串永遠不會匹配引用字符串的兩側上的權利,由foxidrive解決。第二個問題是批次只是直接標籤收費;它們不像其他語言的程序,因此,由於沒有'if' matchm,所以執行':john'中的命令,然後執行':brutus'等命令,直到出現GOTO或文件結束或EXIT或遇到external-batchfile-name。請注意,'goto:eof'(需要冒號)意味着'去文件結尾'(一個內置標籤 – Magoo