使用PowerShell将文本添加到文本文件中的每一行

Jos*_*hua 15 powershell powershell-2.0

我想在.txt文档的每行文本的末尾添加字符.

#Define Variables
$a = c:\foobar.txt
$b = get-content $a

#Define Functions
function append-text  
    {  
    foreach-Object  
        {  
        add "*"  
        }  
    }  

#Process Code
$b | append-text
Run Code Online (Sandbox Code Playgroud)

这样的事情.本质上,加载给定的文本文件,在该文本文件中的每一行文本的末尾添加"*",保存并关闭.

Elr*_*ynn 23

没有必要的功能.这样做:

$b|foreach {$_ +  "*"}
Run Code Online (Sandbox Code Playgroud)

  • 如果你的手腕在困扰你`gc c:\ foobar.txt | %{ "$ _*"}`.这是大量使用别名,但我倾向于在命令行使用PowerShell进行大量的一次性操作,而且我必须输入的越少,我的手腕就越不讨厌我.:-) (4认同)

mjo*_*nor 4

像这样的事情应该有效:

function append-text { 
  process{
   foreach-object {$_ + "*"}
    } 
  }
Run Code Online (Sandbox Code Playgroud)

  • 如果您使用过滤器,则根本不需要`process`块,例如`filter Append-Text {"$_*"}` (3认同)
  • 当然,`filter Append-Text {if ($_ -match '\*\s*$') {$_} else {"$_*"}}` (2认同)