Board logo

标题: [其他] 【已解决】求一个备份windows系统服务的批处理 [打印本页]

作者: hfstar    时间: 2023-6-11 12:22     标题: 【已解决】求一个备份windows系统服务的批处理

本帖最后由 hfstar 于 2023-6-11 21:14 编辑

如题,哪位大佬有,能分享一下吗?
作者: BingjianREMIX    时间: 2023-6-11 13:57

试试
  1. @echo off
  2. set backupDir=C:\Windows\System32\Backup
  3. set timeStamp=%date:~4%_%time:~0,2%%time:~3,2%
  4. set serviceName=
  5. set serviceNameList=  # 用空格分隔
  6. if not exist "%backupDir%" (
  7.     mkdir "%backupDir%"
  8. )
  9. if [%1]==[] (
  10.     echo Usage: %0 [service name]...
  11.     echo.
  12.     echo Examples:
  13.     echo   Backup a single service:
  14.     echo     %0 wuauserv
  15.     echo.
  16.     echo   Backup multiple services:
  17.     echo     %0 wuauserv sppsvc
  18.     echo.
  19.     pause
  20.     exit /b 1
  21. ) else (
  22.     set "serviceNameList=%*"
  23. )
  24. for %%s in (%serviceNameList%) do (
  25.     set "serviceName=%%s"
  26.     set "backupFile=%backupDir%\%serviceName%_%timeStamp%.reg"
  27.     reg export "HKLM\SYSTEM\CurrentControlSet\Services\!serviceName!" "!backupFile!" /y >nul
  28.     if not errorlevel 1 (
  29.         echo Service !serviceName! backed up to !backupFile!
  30.     ) else (
  31.         echo Failed to backup service !serviceName!
  32.     )
  33. )
  34. pause
复制代码
运行上述脚本时,输入要备份的 Windows 服务名称。脚本将根据输入生成备份文件,并保存到 `C:\Windows\System32\Backup` 目录中。如果未指定服务名称,则会显示帮助信息。
ps:需要使用管理员权限运行。你可以进行适当修改来使用
作者: hfstar    时间: 2023-6-11 17:42

回复 2# BingjianREMIX


    大佬,貌似不行,我的意思是要备份Win10的全部系统服务,该怎么修改呢?

@echo off

set backupDir=C:\Windows\System32\Backup
set timeStamp=%date:~4%_%time:~0,2%%time:~3,2%
set serviceName=AsusCertService
set serviceNameList=  # 用空格分隔

if not exist "%backupDir%" (
    mkdir "%backupDir%"
)
作者: terse    时间: 2023-6-11 20:22

这样?
  1. @echo off
  2. (
  3. echo @echo off
  4. for /f "tokens=1*" %%i in ('"sc query type=service state=all|findstr /irbc:"SERVICE_NAME: *""') do (
  5.     for /f "tokens=4 delims=:_ " %%k in ('sc qc %%j^|findstr /irc:" *START_TYPE *: *[0-9]* *"') do echo sc config %%j start=%%k
  6. )
  7. echo pause
  8. )>_bak.bat
  9. pause
复制代码

作者: mzzyb    时间: 2023-6-15 17:14

不懂就问,楼主,你备份了全部的系统服务有什么好处,我的理解,系统蹦了还好说,能复原设置,但是感染病毒了,重装系统,还原系统服务?达到复原设置的目的是吗?
那这样的效率比市面上的备份软件高吗?
作者: hfstar    时间: 2023-6-15 22:10

回复 5# mzzyb


    用于多个第三方系统的服务,备不同的份,然后通过对比,去芜存菁,筛选出适合自己的服务优化方案。
作者: mzzyb    时间: 2023-6-16 09:21

好的,谢谢




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2