CODE: [Copy to clipboard]
@echo off&setlocal ENABLEDELAYEDEXPANSION
:start
title administrator 密码修改工具。(会顺便将inst的密码设置为gmcc@10086) XXX 版权所有
echo.
echo 请输入服务厅名称,部分汉字、拼音、拼音缩写均可(至少2个字符)~~~
echo 输入 h 可查看帮助
set ting=
set /p ting=
if /I "%ting%"=="h" goto help
if "%ting%"=="" goto start
rem 下面这段确定要跳过的行数num,避免了查询无效数据
for /f "delims=:" %%a in ('findstr /n /I /c:":data" 服务厅密码修改.bat') do set num=%%a
for /f "skip=%num%" %%a in (服务厅密码修改.bat) do echo %%a>>data.dat
set n=0
echo 符合条件的服务厅列表如下:
echo.
for /f "tokens=1-5 delims=^|" %%a in ('findstr /I /c:"%ting%" data.dat') do (
set /a n=n+1
set tingname!n!=%%b
set tingpw!n!=%%e
)
del /f /s /q data.dat >nul 2>nul
for /l %%i in (1,1,%n%) do (
echo 编号:%%i 服务厅:!tingname%%i! 管理员密码:【!tingpw%%i!】
)
:select
echo.
echo 请输入服务厅的编号以便设置本机管理员密码:
set ting=
set /p ting=
rem 判断变量是否数字,如果不是则返回select
rem 下面将变量写入文本,因为findstr好像不能 【findstr "[0-9]" 文本】
echo %ting%>data.dat
rem 用findstr判断变量是否数字,如果不是数字就输出为空,其他情况设置ting为数字
for /f %%a in ('findstr "[0-9]" data.dat') do set ting=%%a
rem 下面三行检查变量ting是否为空,以及是否小于0或大于列表的最大值,如果是,就返回select
if "%ting%"=="" goto select
if /i %ting% LEQ 0 goto select
if /i %ting% GTR %n% goto select
echo.
echo 将执行命令【net user administrator !tingpw%ting%!】
net user administrator !tingpw%ting%!
pause
net user inst gmcc@10086
:exit
exit
:help
title 帮助文件。内置密码文件为 20080115 版本 XXX 版权所有
cls
echo.
echo 输入服务厅的名字、拼音、缩写都可以模糊查询到数据
echo 内置的密码表是20080115版本的,如果以后更新了,请
echo 编辑本文件,并将最后的【:data】小节依样添加上去,
echo 并用 ^| 符号隔开,格式如下:
echo.
echo 序号^|服务厅名称^|拼音缩写^|拼音全称密码
echo.
pause
cls
goto :start
:data
1|洪湖|hh|honghu|xxxxxxx
2|湖贝|hb|hubei|xxxxxxx
3|火车站|hcz|huochezhan|xxxxxxx
4|宝安路|bal|baoanlu|xxxxxxx
5|布心|bx|buxin|xxxxxxx
第一次修改: