35 lines
490 B
Plaintext
35 lines
490 B
Plaintext
Class Utils.OS Extends %RegisteredObject
|
|
{
|
|
|
|
ClassMethod Call(cmd, echo = 1) As %List
|
|
{
|
|
// instatiate pipe object
|
|
S list=""
|
|
S pipe=##class(%File).%New(cmd)
|
|
|
|
TRY {
|
|
//
|
|
S sc=pipe.Open("QR")
|
|
I $$$ISERR(sc) Q
|
|
|
|
// read queue/pipe and output to screen
|
|
DO {
|
|
K len S line=pipe.ReadLine(.len) I len=-1 Q
|
|
S $LI(list,$I(pos))=line
|
|
I echo W line,!
|
|
} WHILE $G(pos)<1000
|
|
|
|
} CATCH {
|
|
S ZE=$ZE
|
|
BREAK
|
|
}
|
|
|
|
// close pipe
|
|
D pipe.Close()
|
|
|
|
// return list value
|
|
Q list
|
|
}
|
|
|
|
}
|