You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell写入含换行符字符串到文本文件时出现尾随空格问题求助

解决PowerShell拆分字符串后写入ExifTool参数文件的尾随空格问题

问题场景

在Windows 10系统搭配PowerShell 7.x环境下,编写ExifTool的参数文件(argsfile)时,要求每行一条命令。写入文件本身没问题,但通过字符串拆分得到的内容写入后,总会出现意外的尾随空格。即使提前对拆分后的关键词执行trim()、调整字符串拼接方式都无法解决,而直接拼接非拆分来源的字符串则完全正常。

示例代码:

$entry = "keyword1,keyword2"
$wordArgs = ''
$keywords = $entry.split(',') # 拆分得到单个关键词数组
foreach ($keyword in $keywords) {
        if ($keyword -ne "") {
            $wordArgs += "`n-Keywords-={0}" -f $keyword.trim() # 先删除已存在的关键词
            $wordArgs += "`n-Keywords+={0}" -f $keyword.trim() # 再添加关键词
        }
}

问题根源

补充完整写入文件的代码后排查发现,问题出在PowerShell原生的split()方法上。

解决方案

改用[regex]::split($entry, ',')方法拆分字符串,之后拼接写入的内容就不会再出现尾随空格。测试过Out-File、Add-Content命令以及多种编码格式,结果均正常。

内容的提问来源于stack exchange,提问作者Tribun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 09:06:01