PowerShell Add-Content命令:如何向文本文件换行添加字符串?
解决PowerShell Add-Content不自动换行的问题
当你执行Add-Content "C:\test.txt" -Value "test2"时内容被追加到同一行,通常是因为目标文件的最后一行没有以换行符结尾。Add-Content默认会在追加内容前添加换行符,但如果原文件末尾没有换行,PowerShell会认为当前处于同一行,直接追加内容。
以下是几种可行的解决办法:
手动添加换行符到要追加的内容前:
使用Windows标准换行符`r`n,或者跨平台通用的[Environment]::NewLine:# Windows专用换行符写法 Add-Content "C:\test.txt" -Value "`r`ntest2" # 跨平台通用写法 Add-Content "C:\test.txt" -Value "$([Environment]::NewLine)test2"先补全原文件的末尾换行:
如果需要批量处理或避免每次手动加换行,可以先检查并补全原文件的换行:$filePath = "C:\test.txt" $content = Get-Content $filePath -Raw if (-not $content.EndsWith([Environment]::NewLine)) { Add-Content $filePath -Value [Environment]::NewLine } # 再追加目标内容 Add-Content $filePath -Value "test2"改用Out-File命令(可选):
Out-File默认会自动处理换行逻辑,适合需要严格格式的场景:"test2" | Out-File "C:\test.txt" -Append -Encoding utf8
内容的提问来源于stack exchange,提问作者Vinit S
相关产品推荐
相关产品推荐

