请批处理高手进来解答
发布网友
发布时间:2022-05-02 02:06
我来回答
共3个回答
热心网友
时间:2022-06-26 17:35
@ECHO Off &CLS & mode con lines=29 cols=50 & title 优化系统服务 Code By _Hi M13632750052 & color 0a
title 开始进行优化系统服务...
set [sc]=SC命令&set config=设置&set start=设置为&set DISABLED=禁用&set DEMAND=手动&set AUTO=自动&set OpenService=开启服务&&set FAILED=错误&set SUCCESS=成功
::这个地方可以把要更改的服务名和相对应的中文名设置一下,然后就可以在结果中显示中文名
set Alerter=警示器
::设置要更改的命令,调用 :ChangeServiceConfig 来更改,可以使用FOR 来循环调用ChangeServiceConfig更改。
set Service=Alerter
set Change=AUTO
call set ChangeServiceConfig=更改服务 %%%Service%%% 配置为 %%%Change%%%
call :ChangeServiceConfig1 修改过的ping 命令
call :ChangeServiceConfig 代码少,无SETLOCAL 代码
pause>NUL
exit
:ChangeServiceConfig1
setlocal enabledelayedexpansion
for /f "delims=" %%i in ('sc config %Service% start^= %Change%') do (
set ret=
for %%a in (%%i) do if defined %%a (set ret=!ret!!%%a!) else set ret=!ret! %%a
if not "!ret!"=="" (echo !ret!) else echo.
)
goto :eof
:ChangeServiceConfig
for /f "tokens=1,2,3* delims= " %%i in ('sc config %Service% start^= %Change%') do call echo %%%%i%%%%%%j%%%%%%k%%
goto :eof
参考资料:自己的脑袋
热心网友
时间:2022-06-26 17:35
我看如果想简单批处理后,用SC交互回显就是中文的,那是不现实的,但如果是在批处理中会查询少数固定的项,希望把本应显示的几个英文关键词显示为中文,可以考虑结合for /f命令
热心网友
时间:2022-06-26 17:36
@Echo off
::wkdxz @ BAT-GO At:2010-11-20 09:12:36
title 开始进行优化系统服务...
set sc=服务
set config=设置
set start=设置为
set DISABLED=禁用
set DEMAND=手动
set AUTO=自动
set OpenService=开启服务
set FAILED=错误
set ChangeServiceConfig=更改服务配置
set SUCCESS=成功
setlocal enabledelayedexpansion
echo.!sc! !config! Alerter !start!= !DISABLED!
pause>nul
是这样么?