我想在Windows批处理文件中解析命令的结果。我正在使用confluence-cli。
命令cmd.exe /c confluence.bat --action getPage --title 'My title' --space XXX
返回的结果与此类似:
Data for page with id: 123456789
Page id . . . . . . . . . . . : 123456789
Title . . . . . . . . . . . . : My title
Space key . . . . . . . . . . : XXX
Space name . . . . . . . . . : XXX
Space home page id . . . . . : 987654321
Space home page title . . . . : XXX
Parent id . . . . . . . . . . : 987654321
Parent title . . . . . . . . : My parent title
Creator . . . . . . . . . . . : user1
Created . . . . . . . . . . . : 11/09/18 10:10
Modifier . . . . . . . . . . : user1
Modified . . . . . . . . . . : 11/09/18 10:14
Version . . . . . . . . . . . : 1
Version message . . . . . . . :
Content type . . . . . . . . : page
Status . . . . . . . . . . . : current
Is home page . . . . . . . . : No
URL . . . . . . . . . . . . . : https://XXX.atlassian.net/wiki/spaces/XXX/pages/123456789
我想获取页面ID字段(123456789
)或URL字段(https://XXX.atlassian.net/wiki/spaces/XXX/pages/123456789
)。
我尝试过与此命令类似的命令,但到目前为止还没有运气:
@ECHO OFF
SETLOCAL
set getPage="cmd.exe /c confluence.bat --action getPage --title 'My title' --space XXX"
FOR /f "eol=#tokens=0delims=:2" %%a IN ('%getPage% /i0 %1 ^|find "id: "') DO SET /a pageId=%%a
ECHO Page id is %pageId%
GOTO :EOF
我很难在bat中操纵for表达式来实现我想要的功能,尤其是使用token
和delim
表达式时。