基本上一切都在標題中。
:console_exec
set /p "cmd=->"
set "console_exec=True"
goto :main
當我將輸入傳遞給 set /p 時,它正在讀取整個字串 In :main
:main
if "%cmd%"=="say" (
set "_string="
goto :say
)
當我在 set /p 中執行“say hi”時,它正在閱讀它,就好像“say hi”==“say”但我希望“hi”成為像 %~2 一樣傳遞的下一個引數,任何幫助都會得到幫助。謝謝。
uj5u.com熱心網友回復:
if當您使用語言的給定功能時,不需要。只需嘗試跳轉到“命令”標簽。重定向錯誤訊息(使用不存在的標簽)。你甚至可以給自己的資訊然后:
@echo off
setlocal
:console_exec
set /p "cmd=->"
2>nul call :%cmd% || echo invalid command
goto :console_exec
:say
echo --- %1
REM echo --- %* // for more than one word
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/488025.html
