找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 19917|回复: 6

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

[复制链接]
发表于 2023-6-11 12:22:11 | 显示全部楼层 |阅读模式
本帖最后由 hfstar 于 2023-6-11 21:14 编辑

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

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2023-6-11 13:57:33 | 显示全部楼层
试试

  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技术 +1 收起 理由
hfstar + 1 辛苦了,多谢多谢!

查看全部评分

 楼主| 发表于 2023-6-11 17:42:09 | 显示全部楼层
回复 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%"
)
发表于 2023-6-11 20:22:06 | 显示全部楼层
这样?
  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技术 +1 收起 理由
hfstar + 1 可以了,多谢多谢!

查看全部评分

发表于 2023-6-15 17:14:42 | 显示全部楼层
不懂就问,楼主,你备份了全部的系统服务有什么好处,我的理解,系统蹦了还好说,能复原设置,但是感染病毒了,重装系统,还原系统服务?达到复原设置的目的是吗?
那这样的效率比市面上的备份软件高吗?
 楼主| 发表于 2023-6-15 22:10:06 | 显示全部楼层
回复 5# mzzyb


    用于多个第三方系统的服务,备不同的份,然后通过对比,去芜存菁,筛选出适合自己的服务优化方案。
发表于 2023-6-16 09:21:48 | 显示全部楼层
好的,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 20:17 , Processed in 0.020465 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表