[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 批处理怎样记录并恢复服务的启动状态?

从网上看到的一段备份服务状态的程序,今天有空改了改,主要是不想再生成临时文件,谁知不能正常运行了,就停着不动,任意键退出,看不出毛病请高手们看看。
  1. @echo off
  2. rem 这个bat程序,用于记录并恢复服务的启动状态
  3. rem 该程序的优点是 生成的记录文件是一个批处理文件,直接运行就可以恢复系统服务的启动状态。
  4. rem  get current date and time
  5. for /f "tokens=1,2,3,4 delims=-/. " %%j in ('Date /T') do set FILENAME=srv_%%j_%%k_%%l_%%m
  6. for /f "tokens=1,2 delims=: " %%j in ('TIME /T') do set FILENAME=%FILENAME%_%%j_%%k.bat
  7. rem get all service name
  8. echo Save Service Start State In %FILENAME%
  9. rem save service start state into batch file
  10. (echo @echo off
  11. echo echo Restore The Service Start State Saved At %TIME% %DATE%
  12. echo pause^>nul )>"%FILENAME%"
  13. for /f "tokens=2 delims=:" %%j in ('sc query type= service state= all ^| findstr /r /c:"SERVICE_NAME:"') do (
  14. for /f "tokens=4 delims=:_ " %%s in ('sc qc %%j ^|findstr START_TYPE') do (
  15.   echo sc config %%j start= %%s >>"%FILENAME%"
  16. )
  17. )
  18. echo pause^>nul >>"%FILENAME%"
复制代码

关键就是这一句
[code]
for /f "tokens=2 delims=:" %%j in ('sc query type= service state= all ^| findstr /r /c:"SERVICE_NAME:"') do (
for /f "tokens=4 delims=:_ " %%s in ('sc qc %%j ^|findstr START_TYPE') do (
  echo sc config %%j start= %%s >>"%FILENAME%"
)
)
谁能看下哪错了?

TOP

返回列表