windows下延时执行修改系统时间.bat文件
完整代码
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
PING -n 15 127.0.0.1
echo ==========================
echo Before changetime ,time is:
date /t
time /t
echo ==========================
echo Changing time 2019-09-01 18:17:32
date 2019-09-01
time 18:17:32.11
echo ==========================
echo After change time ,time is:
date /t
time /t
ping localhost >nul
代码注释:
1、静默执行.bat文件
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM
2、获取管理员权限执行该.bat文件
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
3、延迟15秒执行修改系统时间操作
PING -n 15 127.0.0.1
4、修改系统时间
echo ==========================
echo Before changetime ,time is:
date /t
time /t
echo ==========================
echo Changing time 2019-09-01 18:17:32
date 2019-09-01
time 18:17:32.11
echo ==========================
echo After change time ,time is:
date /t
time /t
ping localhost >nul