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

批处理文件中调用PowerShell处理含连字符文件名时的报错问题求助

批处理文件中调用PowerShell处理含连字符文件名时的报错问题求助

我最近写了个批处理文件,用来批量标准化同一文件夹里的多个音频文件。另外我还会创建和音频文件同名的TXT文件,需要从这些TXT里删掉某些行,之后用它们来清除音频文件的自定义标签。

有个情况需要说明:变量!Filename!.txt对应的文件名会有各种不同的值,比如ACDC - Jailbreak.txt或者ACDC - TNT.txt这类,所有文件名里都会用-分隔歌手名和歌曲名。

我尝试在批处理里用下面这条命令调用PowerShell执行处理(已经在gci命令的首尾加了双引号):

"%systemroot%\system32\windowspowershell\v1.0\powershell.exe" -Command "gci !Filename!.txt | foreach { (cat $_.fullname | ? {$_ -match 'METADATA|title|encoder' }) | set-content $_.fullname}"

但运行后出现了报错,错误信息如下:

Get-ChildItem : Cannot find a positional parameter that accepts the argument '-'.
In line:1 character:1

  • gci ACDC - Jailbreak.txt | foreach { (cat $_.fullname | ? ...

备注:内容来源于stack exchange,提问作者Clamarc

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 07:40:28