标题: [已解决]服务过滤的问题
[打印本页]
作者: luckboy45
时间: 2009-10-4 19:15
标题: [已解决]服务过滤的问题
问题已经解决,感谢兄弟的热情帮助! Quote: |
@echo off & setlocal EnableDelayedExpansion
echo ===========================================
for /f "skip=3" %%i in ('wmic service get name^|findstr /v /i "6to4 Alerter aspnet_state clr_optimization_v2.0.50727_32 ALG AppMgmt AudioSrv BITS Browser CiSvc ClipSrv COMSysApp CryptSvc DcomLaunch Dhcp dmadmin dmserver Dnscache ERSvc Eventlog EventSystem FastUserSwitchingCompatibility helpsvc HidServ HTTPFilter ImapiService lanmanserver lanmanworkstation LmHosts Messenger mnmsrvc MSDTC MSIServern RsRavMon NVSvc NetDDE NetDDEdsdm Netlogon Netman Nla NtLmSsp NtmsSvc PlugPlay PolicyAgent ProtectedStorage RasAuto RasMan RDSessMgr RemoteAccess RemoteRegistry RpcLocator RpcSs RSVP SamSs SCardSvr Schedule Spooler srservice SSDPSRV stisvc Stormser usprserv WMPNetworkSvc WudfSvc seclogon SENS SharedAccess ShellHWDetection Spoolersr serviceSSDP SRVstisvc SwPrv SysmonLog TapiSrv TermService Themes TlntSvr TrkWks UMWdf upnphost UPS VSS W32Time WebClient winmgmt WmdmPmSN Wmi WmiApSrv wscsvc wuauserv WZCSVC xmlprov MSIServer "') do echo %%i >>%temp%\1.txt
echo 非系统服务
for /f "tokens=*" %%a in ('findstr /r "^[a-zA-Z0-9]" %temp%\1.txt') do (
for %%b in (%%a) do (
if "%%b" neq "N/A" (echo.%%a
wmic service where "name='%%b'" get Caption,DisplayName,pathname,StartMode,State 2>nul >>%temp%\3.txt
)
)
) |
|
hkmsvc
Caption DisplayName PathName StartMode State
Health Key and Certificate Management Service Health Key and Certificate Management Service C:\WINDOWS\System32\svchost.exe -k netsvcs Manual Stopped
Irmon
Caption DisplayName PathName StartMode State
Health Key and Certificate Management Service Health Key and Certificate Management Service C:\WINDOWS\System32\svchost.exe -k netsvcs Manual Stopped
出来的效果如上:我希望能整齐一点,如下面的格式
[Health Key and Certificate Management Service] [Stopped /Manual]
C:\WINDOWS\System32\svchost.exe -k netsvcs
各位能帮忙完善下代码么?
[
Last edited by luckboy45 on 2009-10-5 at 18:02 ]
作者: Hanyeguxing
时间: 2009-10-5 02:15
@echo off & setlocal EnableDelayedExpansion
echo ===========================================&echo 非系统服务
for /f "skip=3" %%a in ('wmic service get name^|findstr /v /i "6to4 Alerter aspnet_state clr_optimization_v2.0.50727_32 ALG AppMgmt AudioSrv BITS Browser CiSvc ClipSrv COMSysApp CryptSvc DcomLaunch Dhcp dmadmin dmserver Dnscache ERSvc Eventlog EventSystem FastUserSwitchingCompatibility helpsvc HidServ HTTPFilter ImapiService lanmanserver lanmanworkstation LmHosts Messenger mnmsrvc MSDTC MSIServern RsRavMon NVSvc NetDDE NetDDEdsdm Netlogon Netman Nla NtLmSsp NtmsSvc PlugPlay PolicyAgent ProtectedStorage RasAuto RasMan RDSessMgr RemoteAccess RemoteRegistry RpcLocator RpcSs RSVP SamSs SCardSvr Schedule Spooler srservice SSDPSRV stisvc Stormser usprserv WMPNetworkSvc WudfSvc seclogon SENS SharedAccess ShellHWDetection Spoolersr serviceSSDP SRVstisvc SwPrv SysmonLog TapiSrv TermService Themes TlntSvr TrkWks UMWdf upnphost UPS VSS W32Time WebClient winmgmt WmdmPmSN Wmi WmiApSrv wscsvc wuauserv WZCSVC xmlprov MSIServer"') do (if "%%a" neq "N/A" (set A=0
for %%b in (Caption State StartMode pathname) do for /f "skip=1 delims=" %%i in ('wmic service where "name='%%a'" get %%b') do set B=%%i&set B=!B:~0,-1!&set B=!B: =!&set /a A+=1&set B!A!=!B!
echo.%%a&echo.[!B1!] [!B2!/!B3!]&echo.!B4!))
pause
我就只能写成这样了,不使用临时文件。
说明:
set B=!B:~0,-1!去掉多余的回车符
set B=!B: =!去掉双空格
如果要完全去掉所有多余的空格,请使用下面的批处理:
@echo off & setlocal EnableDelayedExpansion
echo ===========================================&echo 非系统服务
for /f "skip=3" %%a in ('wmic service get name^|findstr /v /i "6to4 Alerter aspnet_state clr_optimization_v2.0.50727_32 ALG AppMgmt AudioSrv BITS Browser CiSvc ClipSrv COMSysApp CryptSvc DcomLaunch Dhcp dmadmin dmserver Dnscache ERSvc Eventlog EventSystem FastUserSwitchingCompatibility helpsvc HidServ HTTPFilter ImapiService lanmanserver lanmanworkstation LmHosts Messenger mnmsrvc MSDTC MSIServern RsRavMon NVSvc NetDDE NetDDEdsdm Netlogon Netman Nla NtLmSsp NtmsSvc PlugPlay PolicyAgent ProtectedStorage RasAuto RasMan RDSessMgr RemoteAccess RemoteRegistry RpcLocator RpcSs RSVP SamSs SCardSvr Schedule Spooler srservice SSDPSRV stisvc Stormser usprserv WMPNetworkSvc WudfSvc seclogon SENS SharedAccess ShellHWDetection Spoolersr serviceSSDP SRVstisvc SwPrv SysmonLog TapiSrv TermService Themes TlntSvr TrkWks UMWdf upnphost UPS VSS W32Time WebClient winmgmt WmdmPmSN Wmi WmiApSrv wscsvc wuauserv WZCSVC xmlprov MSIServer"') do (if "%%a" neq "N/A" (set A=0
for %%b in (Caption State StartMode pathname) do for /f "skip=1 delims=" %%i in ('wmic service where "name='%%a'" get %%b') do (set B=%%~i&call :han "!B!"
set /a A+=1&set B!A!=!B!)
echo.%%a&echo.[!B1!] [!B2!/!B3!]&echo.!B4!))
pause&exit
:han
set B=%~1
:ye
if "%B:~-1%"==" " (set B=%B:~0,-1%&goto ye) else goto :eof
[
Last edited by Hanyeguxing on 2009-10-5 at 03:34 ]
作者: Hanyeguxing
时间: 2009-10-5 10:45
批处理1输出示例:
===========================================
非系统服务
uploadmgr
[Upload Manager] [Stopped/Auto ]
C:\WINDOWS\System32\svchost.exe -k netsvcs
ose
[Office Source Engine] [Stopped/Manual ]
"C:\Program Files\Common Files\Microsoft Shared\Source Engine\OSE.EXE"
请按任意键继续. . .
批处理2输出示例:
===========================================
非系统服务
ose
[Office Source Engine] [Stopped/Manual]
C:\Program Files\Common Files\Microsoft Shared\Source Engine\OSE.EXE
uploadmgr
[Upload Manager] [Stopped/Auto]
C:\WINDOWS\System32\svchost.exe -k netsvcs
请按任意键继续. . .
作者: luckboy45
时间: 2009-10-5 17:57
感谢兄弟的热情帮助,十分感谢,如果兄弟以后有电脑病毒问题,请一定联系我,我将为你提供病毒救援服务。