上一篇:
活用()命令和echo命令动态生成网吧注册表文件并导入批处理-网吧批处理-天下网吧
需求:
修改了网吧系统的一些设置,比如组策略修改了,再比如修改了系统注册表,或者是给桌面图标快捷方式指向的文件原来不存在,现在修复完成,但是图标显示还是错误的图标。想立即让这些设置生效。
需求分析:
别看这个需求「没啥用」,其实在编写很多网吧批处理时,修改了后不会立即生效,一般需要重新开机或者重新登陆才生效,这个在网吧环境下显然是不能接受的。顾客也不可能会等到重新开机吧,再说重新开机后,网吧系统都自动还原了。所以,这个功能其实非常有用的!很多批处理代码中需要用到。
要实现这个功能,其实要用到以前天下网吧批处理源码里讲到的几个个功能,一个是重启explorer.exe进程(这个功能可以实现大部分系统设置的刷新和桌面图标缓存的重建),一个是强制刷新组策略(这个可以让有修改组策略的设置立即生效)
编码:
重启explorer进程,其实分成两步,一步是结束explorer.exe,可以用taskkill杀死一个进程。
强制刷新组策略设置,可以用:gpupdate命令
完整代码:
:: 系统设置快速生效______________________________________________________________ @echo off title 系统设置快速生效 作者:木林森 QQ:573381312 color F0 set "say= ^| 正在刷新系统设置, 请稍等... ^|" call :hint tasklist | find /i "explorer.exe" >nul 2>nul && taskkill /f /im explorer.exe >nul 2>nul ping 127.1 -n 2 >nul 2>nul start "" "%windir%\explorer.exe" "%windir%\system32\gpupdate.exe" >nul 2>nul set "say= ^| 恭喜, 成功刷新系统设置! ^|" call :hint echo. echo. set /p ii= 按任意键退出......<nul pause >nul 2>nul goto :eof :hint cls echo. echo \\\^|/// echo \\ .-.- // echo ( .@.@ ) echo +-------oOOo-----(_)-----oOOo---------+ echo ^| ^| echo %say% echo ^| ^| echo +----------oooO-------Oooo------------+ goto :eof :eof pause
执行效果截图: