|
|
发表于 2024-8-18 00:55:43
|
显示全部楼层
- @echo off&&mode con cols=80 lines=27
- :init
- setlocal DisableDelayedExpansion
- set "batchPath=%~0"
- for %%k in (%0) do set batchName=%%~nk
- set "vbsGetPrivileges=%temp%\MYSQL_INIT_getPriv_%batchName%.vbs"
- setlocal EnableDelayedExpansion
- :checkPrivileges
- NET FILE 1>NUL 2>NUL
- if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges )
- :getPrivileges
- if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges)
- ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%"
- ECHO args = "ELEV " >> "%vbsGetPrivileges%"
- ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%"
- ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%"
- ECHO Next >> "%vbsGetPrivileges%"
- ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%"
- "%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %*
- exit /B
- :gotPrivileges
- setlocal & pushd .
- cd /d %~dp0
- if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1)
- :input
- @echo off&if not "%1"=="" call%*&exit||{zb-2024-06-05}
- :begin
- call:timeout 10 :tsk1 0 :tsk2
- :tsk1
- echo\&echo 【默认计划】
- goto :Abat
- :tsk2
- echo\&echo 【自定义计划】
- goto :Bbat
- :: /*----------------- timeout --------------------
- :timeout [num] [:label1] [STR] [:LABEL2]
- setlocal&del/a/q %tmp%\' 2>nul||(echo 未知错误!&pause&exit)
- start/b/REALTIME %~s0 :timeout_1 %1 %2 %3 %4
- :timeout_2
- set "v="
- set/p v=
- if %v%.==%3. title %ComSpec%&cd.>%tmp%\'&endlocal&goto%4
- if exist %tmp%\' exit ::没有输入,退出timeout
- goto:timeout_2
- :timeout_1 [num] [:label1] [STR] [:LABEL2]
- for /l %%a in (%1 -1 0)do (
- title 【 倒计时 :%%a 秒内输入"%3"重置网络 】
- if exist %tmp%\' title %ComSpec%&exit
- ping/n 2 127.1 >nul)
- title %ComSpec%&cd.>%tmp%\'&goto%2
- :: /*------------------ timeout -------------------*/
- :Abat
- echo.Abat
- pause
- :Bbat
- echo.Bbat
- pause
复制代码 |
|