在power shell

时间:2015-08-31 05:53:13

标签: shell powershell scripting powershell-v2.0

我将命令的输出存储在变量中。 现在我想逐行访问它的内容。

$OutputVariable = (dir | % { $_.FullName -replace "C:\\","" }) | Out-String;
$OutputVariable

输出如下: -

D:\ASGN5
D:\ASSIGNMENT 5

所以基本上我想要的是逐行访问变量的输出 首先我想要 D:\ ASGN5

我们可以通过$$ OutputVariable [0..n]

获取数据

但我想知道有没有其他方法可以逐行访问它?

1 个答案:

答案 0 :(得分:0)

来自the doc

  

默认情况下,Out-String会累积字符串并将它们作为单个字符串返回,但您可以使用stream参数指示Out-String一次返回一个字符串。

但你根本不必使用out-string。 让我们通过get-childitem(dir)命令在对象返回上使用foreach循环:

$OutputVariable = (dir | % { $_.FullName -replace "C:\\","" })
$OutputVariable |foreach {"value is $_"}