如何使用Powershell获得一串输出结果?

时间:2018-07-11 14:05:01

标签: powershell

当我使用此命令时:

ipptool -tv -I -d "doc-uri=http://www.nice.com/123.txt" 

输出结果是:

    media-col (collection) = {media-source=auto}
    job-uri (uri) = ipp://192.168.0.1/ipp/print/job-0030
    job-id (integer) = 30
    job-state (enum) = processing
    job-state-reasons (keyword) = none
    job-state-message (textWithoutLanguage) = 
    EXPECTED: STATUS successful-ok (got successful-ok-ignored-or-substituted-attributes)

如何使用powershell来获取字符串“ 30”?

30是job-id的值

3 个答案:

答案 0 :(得分:1)

假设ipptool的输出结果在一个名为“ C:\ Test \ Iptool.txt”的文本文件中,则可以使用以下命令:

def reload_page
  visit current_path
end

答案 1 :(得分:1)

使用Select-String

$ipptool = $(ipptool -tv -I -d "doc-uri=http://www.nice.com/123.txt")
[Int]($ipptool | Select-String "job-id \(integer\) =\s*(\d+)").Matches.Groups[1].Value

答案 2 :(得分:0)

您可以使用MatchSplit

$Data = ipptool -tv -I -d "doc-uri=http://www.nice.com/123.txt" 
($Data | ? {$_ -match 'job-id'}).Split("=")[1]