首页 > 解决方案 > 在 powershell 的新行上添加内容

问题描述

我有一个向文件(.properties)添加内容的脚本,但下面的脚本在文件的最后一个字符之后添加内容,但我想在新行上添加内容。我试过 `n 但它会创建一个空行,然后在每次运行我的添加内容命令时添加内容

$Inputstring =@"
abc
def
ghi
"@

$list = @"
server_name1,server_name2,server_name3
"@
$lists = $list.split(",")
Foreach ($server in $lists) {   
    Add-content "path" $Inputstring
    
    
}

标签: powershellpowershell-2.0powershell-3.0powershell-remoting

解决方案


假设这个问题是关于如何将某个字符串附加到各种服务器上的文件中,并在其上方添加一个额外的换行符。

在这种情况下,您需要为每个服务器构建文件的(UNC)路径,然后Add-Content在循环中使用该文件。

假设每个服务器在其本地都有该文件C:\Temp\TheFile.properties,那么代码可能是这样的:

$Inputstring =@"
abc
def
ghi
"@

# string array of servers. Could also be done with
# $servers = 'server_name1,server_name2,server_name' -split ','
$servers = 'server_name1','server_name2','server_name'

foreach ($server in $servers) {
    # construct the UNC path to the file on each server
    $path = "\\$server\C$\Temp\TheFile.properties"
    Add-content -Path $path -Value "`r`n$Inputstring"
}

如果我对您的意图的假设是错误的,请编辑您的问题并明确您想要做什么。最好有例子。


推荐阅读