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

PowerShell如何将变量与文本拼接后写入文件同一行

PowerShell字符串与变量拼接写入同一行解决方案

问题原因

你当前的写法存在两个问题:

  1. Add-Content 传入多个独立字符串参数时,PowerShell会默认将每个参数单独作为一行写入文件
  2. 带属性的变量(如$audio.Name)没有做展开处理,会导致属性无法正确识别输出

解决方法

方法1:双引号变量展开(最推荐)

PowerShell双引号支持自动解析内部变量,带属性的变量用$()包裹保证正确解析即可:

Add-Content "C:\burn.txt" "RingerDevice=$($audio.Name)"
Add-Content "C:\burn.txt" "RecordDevice=$($mic.Name)"
Add-Content "C:\burn.txt" "PlaybackDevice=$($audio.Name)"

方法2:+号手动拼接

如果需要显式拼接字符串,用括号把整个拼接表达式包起来,避免被识别为多个参数:

Add-Content "C:\burn.txt" ("RingerDevice=" + $audio.Name)
Add-Content "C:\burn.txt" ("RecordDevice=" + $mic.Name)
Add-Content "C:\burn.txt" ("PlaybackDevice=" + $audio.Name)

方法3:批量写入(适合多行内容)

如果需要写入的行数较多,可以先整理为数组后一次性写入,减少IO操作:

$writeContent = @(
    "PlaybackDevice=$($audio.Name)",
    "RingerDevice=$($audio.Name)",
    "RecordDevice=$($mic.Name)"
)
Add-Content "C:\burn.txt" $writeContent

注意事项

你原代码中的路径C:\burn.txt*末尾多了通配符*,需要删除,否则会匹配同目录下所有前缀为burn.txt的文件并写入内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 23:54:03