Windows 双击没有执行正确的 Powershell 脚本

Windows double click not executing correct Powershell Script

在我的目录中有一个名为“t1.ps1”的文件和另一个名为“t1 - something.ps1”的文件。
它们 运行 都很好 运行 很好,当通过右键单击 运行 使用 PowerShell 或直接在 PowerShell 中执行时,但是当通过double click or cmd 似乎总是执行第一个脚本。
对我来说,破折号似乎是问题所在,但我有点惊讶 windows 不仅抛出错误或什么都不做,而是执行了一个不同的脚本。

也许这是一个众所周知的现象,或者我只是有一些卡顿设置,导致了这种情况,但我对此感到有点惊讶。

  • 默认情况下,当您在文件资源管理器/桌面上 double-click 文件时,.ps1 文件不会执行 - 相反,它们会 打开编辑.

  • 它们为您执行的事实意味着您修改了默认配置:

    • 但是,double-clicking t1 - something.ps1 执行 t1.ps1 的事实意味着您的配置 有缺陷

      • 具体来说,它表明用于调用的底层 powershell.exe 命令中的 file-name 参数 缺少(有效的)包含 "..." 的引号 - 如果您使用文件资源管理器以交互方式将 .ps1 文件与 powershell.exe.

        相关联,就会发生这种情况
      • 有关详细信息和修复,请参阅 this answer