2014-05-23 138 views
0

如何從此批處理命令的輸出中只獲取標題?批處理文件解析

命令

wmic group where (domain='%computername%' and SID='S-1-5-32-544') get caption 

並且輸出是

Caption       
abcdefgh768f\Administrators 

我需要僅從這

回答

1
@echo off 
    setlocal enableextensions disabledelayedexpansion 

    set "caption=" 
    for /f "tokens=2 delims=," %%a in (
     'wmic Group where "Domain='%computerName%' and SID='S-1-5-32-544'" get Caption^,SID /format:csv ^| find "%computerName%" ' 
    ) do set "caption=%%a" 

    echo [%caption%] 

在代碼讀 「abcdefgh768f \管理員」,WMIC的輸出有以csv格式需要(字段以逗號分隔)幷包含sid字段。這樣,標題字段是記錄中的第二個字段(節點字段是第一個字段),sid是最後一個字段。這樣做是爲了避免在行尾添加的附加回車標題字段中包含該字段。

for命令將執行wmic命令,將逗號分割並取第二個字段。包含find以避免處理wmic輸出中的標題。