我写一段代码,用于验证,如下:
@echo off
:begin
cls
set a=123aaa
set /p a=请输入密码:
If Not "%a%"=="" Set a=%a:~0,9%
if /i "%a%"=="123aaa" goto ok
echo 输入有误,重新输入!!! && ping 127.1 -n 2 >nul && goto begin
:ok
end
问题:不输入123aaa而直接回车也可以通过并执行goto ok的命令
另外我有处不懂的地方:
If Not "%a%"=="" Set a=%a:~0,9%
这句好像写的不对,或都说我不明白“Set a=%a:~0,9%”这句话是什么意思,请谁帮我解释一下。先谢谢了!
刚才在论坛中搜索了一下,发现用 “set /p a=“ 的输入好像没法变成星号的,这个有点郁闷。
@echo off
:begin
cls
set a=123aaa
set /p a=请输入密码:
If Not "%a%"=="" Set a=%a:~0,9%
if /i "%a%"=="123aaa" goto ok
echo 输入有误,重新输入!!! && ping 127.1 -n 2 >nul && goto begin
:ok
end
问题:不输入123aaa而直接回车也可以通过并执行goto ok的命令
另外我有处不懂的地方:
If Not "%a%"=="" Set a=%a:~0,9%
这句好像写的不对,或都说我不明白“Set a=%a:~0,9%”这句话是什么意思,请谁帮我解释一下。先谢谢了!
刚才在论坛中搜索了一下,发现用 “set /p a=“ 的输入好像没法变成星号的,这个有点郁闷。
