[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 求助:批处理如何判断字符串长度为8值63位?(用于密码判断)

想做一个开启系统自带WIFI的批处理,卡在了设置WIFI密码的位置,设置WIFI密码需要8至63位密码
不知道应该怎样判断输入的字符串长度大于等于8,小于等于63位?


:s2
cls
echo.
echo             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo             请输入虚拟WiFi密码,然后按回车
echo             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo.
:choice
set /p choice=              请输入8至63位字符的密码:
if %choice% geq 8 ( if %choice% leq 63 goto ok)
echo 输入错误!!请输入8至63位字符的密码
echo 请按任意键重新输入 &pause>nul&cls
goto choice
k
IF NOT "%choice%"=="" SET choice=%choice:~0,63%
IF NOT "%choice%"=="" netsh wlan set hostednetwork key="%choice%"
echo.
echo              已成功更改虚拟WiFi密码为:"%choice%"!
echo                        任意键返回主菜单
echo               你可在后面的菜单中设置ID及密码
pause >nul
goto menu

可以用 findstr 来过滤请查找相关指令说明,http://www.verycd.com/topics/2875050/
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

可以改成这样试试:
  1. :s2
  2. cls
  3. echo.
  4. echo             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  5. echo             请输入虚拟WiFi密码,然后按回车
  6. echo             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  7. echo.
  8. set "error="
  9. set /p choice=              请输入8至63位字符的密码:
  10. if "%choice:~7%"=="" set error=.
  11. if not "%choice:~63%"=="" set error=.
  12. if defined error (
  13. echo 输入错误!!请输入8至63位字符的密码
  14. pause
  15. goto :s2
  16. )
  17. netsh wlan set hostednetwork key="%choice%"
  18. echo.
  19. echo              已成功更改虚拟WiFi密码为:"%choice%"!
  20. echo                        任意键返回主菜单
  21. echo               你可在后面的菜单中设置ID及密码
  22. pause >nul
  23. goto menu
复制代码
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

返回列表