Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 是否为每行输出文件内容添加字符?_Powershell - Fatal编程技术网

Powershell 是否为每行输出文件内容添加字符?

Powershell 是否为每行输出文件内容添加字符?,powershell,Powershell,是否有一种使用PowerShell Out文件的方法,可以为插入到文件中的每一行在Out文件中的每个文本的开头和结尾添加一个* 例如: 获取进程|输出文件-文件路径。\Process.txt Test Test1 示例Process.txt应包含: *Test* *Test1* 如果有一个集合,它是大多数命令的输出,则可以循环遍历每个元素并格式化输出字符串。下面的示例使用(-f)格式运算符构建字符串 $collection = @('test','test1','test2') foreac

是否有一种使用PowerShell Out文件的方法,可以为插入到文件中的每一行在Out文件中的每个文本的开头和结尾添加一个*

例如: 获取进程|输出文件-文件路径。\Process.txt

Test
Test1
示例Process.txt应包含:

*Test*
*Test1*

如果有一个集合,它是大多数命令的输出,则可以循环遍历每个元素并格式化输出字符串。下面的示例使用(
-f
)格式运算符构建字符串

$collection = @('test','test1','test2')
foreach ($entry in $collection) {
    "*{0}*" -f $entry | Out-File .\Process.txt -Append
}
上述情况过于简单。但是,当从命令输出时,通常会得到一个对象。您需要对此进行调整,以选择您关心的对象属性。如果我们将上述示例改编为
Get Process
,则可以执行以下操作:

foreach ($name in (Get-Process).Name) {
    "*{0}*" -f $name | Out-File .\Process.txt -Append
}
一个概念上类似但不太详细的别名选项,只向输出文件写入一次:

Get-Process |% {"*$($_.Name)*"} | Out-File .\Process.txt

谢谢你的帮助