返回列表 发帖

[系统相关] 请问脚本错在哪里了?关闭系统服务的批处理

用来开启或者关闭系统服务的脚本,运行就上面的错误,请问如何解决,代码如下,请帮我改一下,谢谢


@echo off
:: 脚本功能:批量开启或关闭 Windows 10 系统服务
:: 使用方法:
::   1. 将需要操作的服务名称添加到 SERVICES 列表中。
::   2. 运行脚本时选择操作类型(开启或关闭)。
:: 定义需要操作的服务列表
set SERVICES=(
    "Spooler"       :: 打印后台处理服务
    "wuauserv"      :: Windows 更新服务
    "WinDefend"     :: Windows Defender 服务
    "BITS"          :: 后台智能传输服务
    :: 添加更多服务名称,每行一个
)
:: 主菜单
echo ========================================
echo 请选择操作类型:
echo 1. 开启服务
echo 2. 关闭服务
echo ========================================
set /p CHOICE=请输入选项(1/2):
if "%CHOICE%"=="1" (
    call :START_SERVICES
) else if "%CHOICE%"=="2" (
    call :STOP_SERVICES
) else (
    echo 无效选项,请重新运行脚本。
    pause
    exit /b
)
exit /b
:: 开启服务
:START_SERVICES
    echo 正在开启服务...
    for %%S in (%SERVICES%) do (
        sc start "%%S" >nul 2>&1
        if %errorlevel% equ 0 (
            echo [成功] 开启服务: %%S
        ) else (
            echo [失败] 开启服务: %%S
        )
    )
    pause
    exit /b
:: 关闭服务
:STOP_SERVICES
    echo 正在关闭服务...
    for %%S in (%SERVICES%) do (
        sc stop "%%S" >nul 2>&1
        if %errorlevel% equ 0 (
            echo [成功] 关闭服务: %%S
        ) else (
            echo [失败] 关闭服务: %%S
        )
    )
    pause
    exit /bCOPY

本帖最后由 aloha20200628 于 2025-2-16 15:26 编辑

回复 1# tiaoyaonan

每个 set 命令中的赋值表达式至多是用本行的换行符结束的,因此变量 %SERVICES% 的有效值仅是 ) 一个字符而已...
一楼代码可订正及简化如下,仅供参考...
@echo off
:: 脚本功能:批量开启或关闭 Windows 10 系统服务
:: 使用方法:
::   1. 将需要操作的服务名称添加到以下代码 16-19 行间。
::   2. 运行脚本时选择操作类型(开启或关闭)。
:menu
echo ========================================
echo 请选择操作类型:
echo 1. 开启服务
echo 2. 关闭服务
echo ========================================
set "input=" &set /p input=请输入选项(1/2):
if not defined input exit/b
if "%input%"=="1" (set "c=start") else if "%input%"=="2" (set "c=stop") else goto:menu
for %%s in (
   "Spooler"
   "wuauserv"
   "WinDefend"
   "BITS"
) do sc %c% %%s>nul 2>nul&&echo,成功 %c% 服务:%%~s||echo,未能 %c% 服务:%%~s
pause&exit /bCOPY

TOP

回复 1# tiaoyaonan
:: 定义需要操作的服务列表
set SERVICES=Spooler wuauserv WinDefend BITSCOPY

TOP

返回列表