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

PowerShell含空格参数传递异常问题排查与解决

SendLet脚本:Windows资源管理器“发送到”快捷方式参数传递问题排查与解决

脚本代码(SendLet.ps1)

param (
    [Parameter(ValueFromRemainingArguments=$true)]
    $FilePath
)

Get-ChildItem -Recurse -Path $FilePath | ForEach-Object {
  Write-Host $_
}

Pause

测试环境

  • PowerShell版本:7.3.2
  • 测试文件夹:Arbitrary Files(包含两个带空格的文件:Baz qux.AVI、Foo bar.JPG)

部署步骤

  • 将脚本保存至路径:C:\Users\user\Documents\PowerShell\Scripts\SendLet.ps1
  • 打开shell:sendto文件夹,创建快捷方式,目标设置为:C:\Users\user\AppData\Local\Microsoft\WindowsApps\pwsh.exe C:\Users\user\Documents\PowerShell\Scripts\SendLet.ps1
  • 通过Windows资源管理器右键菜单的“发送到”选项调用脚本处理文件/文件夹

运行现象

  • Windows 11 22H2:运行正常,可正确识别带空格的路径并输出文件列表
  • Windows 10 Pro 22H2:运行报错,提示找不到路径;进一步测试发现C盘文件可正常处理,D盘文件异常,且带空格的路径被拆分为多个参数(Win11中则作为单个带引号的参数传递)

问题定位与解决

对比两台系统的pwsh.exe路径:

  • Win11:指向真实程序路径C:\Program Files\PowerShell\7\pwsh.exe
  • Win10:指向C:\Users\user\AppData\Local\Microsoft\WindowsApps\pwsh.exe(该文件为0字节的链接文件)

将快捷方式的目标改为指向真实的pwsh.exe程序路径后,参数传递恢复正常,问题解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 16:37:33