中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-23 13:29
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,273 会员排行
DOS批处理 & 脚本技术(批处理室) » [已解决]如何截取一个命令的返回信息中的一部份??
可打印版本  1,825 / 3
第1楼 yuan53770 发表于 2011-01-19 01:53
初级用户 发帖 40 积分 67
[已解决]如何截取一个命令的返回信息中的一部份??
比如
C:\>sc qc WMDrive
GetServiceConfig SUCCESS

SERVICE_NAME: WMDrive
TYPE : 1 KERNEL_DRIVER
START_TYPE : 4 DISABLED
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME : \??\C:\WINDOWS\system32\drivers\WMDrive.sys
LOAD_ORDER_GROUP :
TAG : 0
DISPLAY_NAME : WMDrive
DEPENDENCIES : RPCSS
SERVICE_START_NAME :
以上是查询wmdrive服务的返回信息,我想截取其中的\??\C:\WINDOWS\system32\drivers\WMDrive.sys部份,如何做到??

[ Last edited by yuan53770 on 2011-1-21 at 02:06 ]
第2楼 dooomer 发表于 2011-01-19 11:54
初级用户 发帖 52 积分 109
findstr 找到那一行,然后用for命令,以“ : ”为分隔符,取分隔符后第2位,即可。
第3楼 liion631818 发表于 2011-01-19 14:49
新手上路 发帖 11 积分 13 来自 上海
@echo off
setlocal EnableDelayedExpansion

for /f "tokens=1* delims=:" %%i in ('sc qc WMDrive') do (
set "binary=%%i"
set binary=!binary: =!
if "!binary!"=="BINARY_PATH_NAME" (
set "getPath=%%j"
set getPath=!getPath:"=!
goto show
)
)
:show
echo !getPath!
pause
第4楼 yuan53770 发表于 2011-01-21 02:06
初级用户 发帖 40 积分 67
谢谢楼上的帮助,我在批处理之家也求得答案,分享一下:
for /f "tokens=1* delims=:" %%a in ('sc qc WMDrive^|find "BINARY_PATH_NAME"') do (set result=%%b)
set result=%result:~1,-2%
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023