[英]cleanup bat command output in Jenkins Groovy
如何在Jenkins的管道腳本中清理bat命令的輸出
以下是我使用的管道腳本。
Drive_list = bat ( label: 'Get Drive List',
returnStdout: true,
script: 'wmic logicaldisk where DriveType=3 get DeviceID'
).trim()
Drive_list現在包含以下內容。
{D:\Jenkins\workspace\test>wmic logicaldisk where DriveType=3 get DeviceID
DeviceID
C:
D:}
提取列表{'C:','D:'}
應該怎么做
我嘗試通過使用c_list = Drive_list.tokenize('\\r\\n')
標記Drive_list來創建列表,現在c_list是
{[D:\\Jenkins\\workspace\\test>wmic logicaldisk where DriveType=3 get DeviceID , DeviceID , , C: , , D:]}
為了清理c_list
我嘗試按照c_list.removeAll{ it.contains('DeviceID')
{[DeviceID , , C: , , D:]}
僅刪除了第一行,但還有其他添加到驅動器ID中的白色字符,我無法刪除。
常規方法均無法使用的原因是由於編碼,因此通過添加編碼選項“ UTF-16LE”來修改管道腳本是可行的。
Drive_list = bat ( label: 'Get Drive List',
returnStdout: true,
encoding : "UTF-16LE",
script: 'wmic logicaldisk where DriveType=3 get DeviceID'
).trim()
您可以使用groovy(java)本機方法來獲取根驅動器:
https://docs.oracle.com/javase/7/docs/api/java/io/File.html#listRoots()
File[] Drive_list = File.listRoots()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.