用批处理备份服务状态备份

@echo off
@echo 本脚本用于帮助大家保存当前系统服务状态并在需要的时候进行恢复。
rem   get current date and time
for /f "tokens=1,2,3 delims=-/. " %%j in ('Date /T') do set FILENAME=srv_%%j_%%k_%%l
for /f "tokens=1,2 delims=: " %%j in ('TIME /T') do set FILENAME=%FILENAME%_%%j_%%k.bat

rem get all service name
sc query type= service state= all| findstr /r /C:"SERVICE_NAME:" >tmpsrv.txt
echo Save Service Start State In %FILENAME%
rem save service start state into batch file
rem

echo @echo Restore The Service Start State Saved At %TIME% %DATE% >"%FILENAME%"
echo @pause >>"%FILENAME%"

for /f "tokens=2 delims=:" %%j in (tmpsrv.txt) do @( sc qc %%j |findstr   START_TYPE >tmpstype.txt &&   for /f "tokens=4 delims=:_ " %%s in ( tmpstype.txt) do @echo sc config   %%j start= %%s >>"%FILENAME%")
echo @pause >>"%FILENAME%"

del tmpsrv.txt
del tmpstype.txt

运行后会生成一个类似 srv_2008_03_05_11_13.bat 的批处理文件,以后只要运行该文件就可以还原系统服务的状态了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据