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

如何在PowerShell循环中为变量添加.bin后缀传递给命令

解决PowerShell变量拼接.bin后缀的问题

你的核心问题是文本文件里的每行末尾带有逗号和换行符,直接使用$line变量时,这些无效字符会被一起带入,导致生成的文件名变成类似abc123124324,.bin的错误格式,软件无法识别。

修正步骤

  1. 清理变量中的无效字符:对读取到的每行内容,用Trim()方法去掉末尾的逗号、换行符(\r、\n)和多余空白。
  2. 跳过空行:避免处理文件末尾的空行导致错误。

修正后的代码

foreach ($line in Get-Content $filePath ) {
    # 清理每行的逗号、换行符和空白字符
    $serialNumber = $line.Trim(',', "`r", "`n", ' ')
    # 跳过空行
    if ([string]::IsNullOrEmpty($serialNumber)) { continue }
    
    Write-Host "Generating info for $serialNumber"
    # 用清理后的变量拼接.bin后缀
    & C:\Users\Administrator\Desktop\software.exe -K -o sup -f "${serialNumber}.bin" -n $serialNumber
}

补充说明

之前${line}_log.zip能运行,大概率是软件对下划线后的后缀兼容性更强,自动忽略了前面的逗号;但.bin格式要求更严格,必须确保文件名完全干净。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 03:45:27