我想问一下关于foreach和输出的非常简单的问题,
我注意到,当我们尝试运行foreach然后通过out-file导出它时,它更复杂,我的问题是用foreach导出内容的正确方法是什么?
例如我准备这个:
Get-Content C:\Windows.old\1.txt
$output =
Foreach ($line in $file)
{
$line + " "+ $line.Length + " is the lengh of you user name"
}
我知道这是不正确的,我正在寻找好的解释
答案 0 :(得分:0)
为什么它更复杂?我会使用Foreach-Object
cmdlet(但您也可以使用循环)并将结果传递给Set-Content
cmdlet(但您也可以使用Out-File
:
$filePath = 'C:\Windows.old\1.txt'
$content = Get-Content $filePath
$content | ForEach-Object {
"$_ $($_.Length) is the lengh of you user name"
} | Set-Content $filePath
注意:您可能需要设置编码。
编辑:不更改脚本:
Get-Content C:\Windows.old\1.txt
$output = Foreach ($line in $file)
{
$line + " "+ $line.Length + " is the lengh of you user name"
}
$output| Out-File 'your-new-filepath.txt'