查看完整版本: [-- [转帖]使用批处理自动恢复windows 的服务的启动状态 (lyh728@ror) --]

狗狗静电BBS - wwW.DoGGiEhoMe.CoM -> 电脑全方位 Computer Guide -> [转帖]使用批处理自动恢复windows 的服务的启动状态 (lyh728@ror) [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

galilette 2004-08-13 15:02
使用批处理自动恢复windows 的服务的启动状态

修正 1 感谢 hitme ,指出 2k reskit的 缺省buf太小 ,请使用 xp,2k3 的 sc,可以直接复制到 2k使用。
如果使用 2kres kit 的sc ,请修改
sc query type= service state= all| findstr /r /c:"SERVICE_NAME:" >tmpsrv.txt


sc query type= service state= all bufsize= 10000| findstr /r /c:"SERVICE_NAME:" >tmpsrv.txt

2 适应更多的 日期格式 ,日期分隔符为 -/.三种

by lyh728
安装好windows后,我们经常要对windows进行调节,其中重要的一项就是 关闭不必要的服务,这里就会产生一个问题:如果我们的某些服务被错误的关闭,而当我们后来发现问题,又找不出是哪一个服务的原因的时候,也许我们就会想要回到以前的正常状态,然后一个个的关闭服务以便找出问题,可是又记不清每个服务的初始状态的时候,就很恼火了。

如果能够写一个程序,记录每个服务的启动状态,并可以把系统的服务恢复到该状态就比较方便了。

我写了一个bat程序,用于记录并恢复服务的启动状态,使用了sc命令(xp,2k3自带,2k需要到ms下载)
该程序的优点是 生成的记录文件是一个批处理文件,直接运行就可以恢复系统的服务的启动状态。生成的记录文件如下:
Copy code

@echo Restore The Service Start State Saved At 21:44:39.67 2004-08-12 星期四
@pause
sc config   Alerter start= DISABLED
sc config   ALG start= DEMAND
.
.
.
sc config   wuauserv start= DISABLED
sc config   WZCSVC start= DISABLED
@pause



下面是bat的代码,存储为savestate.bat就可以了,双击后运行,自动产生一个以当前时间和日期文件名字的记录文件
Copy code

@echo off
rem get current date and time
for /f "tokens=1,2,3,4 delims=-/. " %%j in ('Date /T') do set FILENAME=srv_%%j_%%k_%%l_%%m
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


恢复服务的启动状态,如图

bbbe 2004-08-13 21:17
2k的补丁在哪里下载 ?微软主页上 我没找到 [s:33]

galilette 2004-08-14 10:27
Quote:
下面是引用bbbe于2004-08-13 9:17 PM发表的 :
2k的补丁在哪里下载 ?微软主页上 我没找到 [s:33]

是在2k的resource kit里. 你找个xp/2003上的sc拷过来就可以用了
或者哪位用xp/2k3的打包贴个附件上来吧 [s:31]

roywang 2004-08-14 13:21
不错  收藏先

galilette 2009-08-23 05:50
自己顶一下.. 测试win 7用上了. xp的时候还可以用一个hardware profile保存默认状态, 貌似现在只能靠这个了


查看完整版本: [-- [转帖]使用批处理自动恢复windows 的服务的启动状态 (lyh728@ror) --] [-- top --]



Powered by PHPWind v6.0 Code © 2003-05 PHPWind
Gzip enabled

You can contact us