【问题标题】:add content on new line in powershell在 powershell 的新行上添加内容
【发布时间】:2021-09-26 22:46:02
【问题描述】:

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

$Inputstring =@"
abc
def
ghi
"@

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

【问题讨论】:

  • $env:servers 究竟包含什么?
  • -Path 应该是 .properties 文件的路径,您需要指定它应该在其中写入的值:foreach ($thing in $listOfThings) { Add-Content -Path 'X:\Path\To\The\.properties' -Value "rn$thing" }
  • @MathiasR.Jessen 我的错,我已经编辑了代码。
  • @Theo 抱歉,我已经编辑了我的代码,现在之前的代码出错了
  • @Theo 内容在 $inputString 中,每个都用于在服务器中循环

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


【解决方案1】:

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

在这种情况下,您需要为每个服务器构建文件的 (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"
}

如果我对您意图的假设是错误的,请edit your question 并说明您想要做什么。最好有例子。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-16
    • 1970-01-01
    • 1970-01-01
    • 2017-06-27
    相关资源
    最近更新 更多