与foreach一起外包|解释

时间:2017-02-07 07:05:24

标签: powershell

我想问一下关于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" 
}

我知道这是不正确的,我正在寻找好的解释

1 个答案:

答案 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'