[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] [已解决]批处理如何截取一个命令的返回信息中的一部份?

比如:

C:\>sc qc WMDrive
[SC] 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部份,如何做到??

[ 本帖最后由 yuan_53770 于 2011-1-21 01:04 编辑 ]
1

评分人数

    • hanyeguxing: 请使用[code]和[/code]将代码括起来PB -2

可以这样提取

  1. for /f "tokens=1* delims=:" %%a in ('sc qc WMDrive^|find "BINARY_PATH_NAME"') do (set result=%%b)
  2. set result=%result:~1,-2%
复制代码

TOP

谢谢楼上的帮助,我在dos联盟也求得一个答案,分享一下:
  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. for /f "tokens=1* delims=:" %%i in ('sc qc WMDrive') do (
  4.         set "binary=%%i"
  5.         set binary=!binary: =!
  6.         if "!binary!"=="BINARY_PATH_NAME" (
  7.                 set "getPath=%%j"
  8.                 set getPath=!getPath:"=!
  9.                 goto show
  10.         )
  11. )
  12. :show
  13. echo !getPath!
  14. pause
复制代码

TOP

返回列表