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

[其他] 【已解决】求一个备份windows系统服务的批处理

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

如题,哪位大佬有,能分享一下吗?
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

试试
  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:需要使用管理员权限运行。你可以进行适当修改来使用
1

评分人数

    • hfstar: 辛苦了,多谢多谢!技术 + 1
QQ 1980286392

TOP

回复 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%"
)

TOP

这样?
  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
复制代码
1

评分人数

    • hfstar: 可以了,多谢多谢!技术 + 1

TOP

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

TOP

回复 5# mzzyb


    用于多个第三方系统的服务,备不同的份,然后通过对比,去芜存菁,筛选出适合自己的服务优化方案。

TOP

好的,谢谢

TOP

返回列表