Powershell获取输出,向其中添加内容,然后输出到文件
这是我在这里的第一次用户,但基本上这就是我在过去几天里一直试图弄清楚的方法,现在我被卡住了Powershell获取输出,向其中添加内容,然后输出到文件,powershell,Powershell,这是我在这里的第一次用户,但基本上这就是我在过去几天里一直试图弄清楚的方法,现在我被卡住了 $ImaginaryTestCase = @('Ted', 'Bill', 'Tom', 'Bob') $ImaginaryTestCase -Contains 'Bill' 这应该输出为true,我遇到的问题是,我需要获取该true输出,将其放入文本文件中显示“Bill:true”的文件中。我知道我可以得到真实的语句,并使用output file轻松地将其输出到一个文件中,但我想在它达到这一点之前对
$ImaginaryTestCase = @('Ted', 'Bill', 'Tom', 'Bob')
$ImaginaryTestCase -Contains 'Bill'
这应该输出为true,我遇到的问题是,我需要获取该true输出,将其放入文本文件中显示“Bill:true”的文件中。我知道我可以得到真实的语句,并使用output file轻松地将其输出到一个文件中,但我想在它达到这一点之前对其进行修改
要实现这一点,我需要做什么?使用if语句构建一个代码块,在搜索成功时执行该代码块。让我们举一个这样的例子
$i = @('Ted', 'Bill', 'Tom', 'Bob')
$p = 'Bill'
if($i -contains $p) {
$result = "{0}:{1}" -f $p, "it is troo!"
write-host $result
}
# Output:
Bill:it is troo!
$result
变量包含一个基于.Net复合格式的字符串。{0}
和{1}
是字符串中的占位符,它将包含格式化TIG-f
开关之后的任何内容。您可以尝试使用switch语句
$ImaginaryTestCase = @('Ted', 'Bill', 'Tom', 'Bob')
switch -Exact ($ImaginaryTestCase){
"Bill" {"$_`: True" }
} #| Out-File -FilePath C:\Path\text.txt
这是一个非常方便的工具,可以与IFS语句相媲美。这样使用:
Switch (<test-value>)
{
<condition> {<action>}
<condition> {<action>}
}
开关()
{
{}
{}
}
在您的例子中,它遍历数组,查找您在匹配字符串“Bill”时设置的条件。然后它根据该条件执行一个操作。在本例中,它只是使用它用来匹配字符串的$\uuu
传回对象,并添加了“:True
”作为您的目标