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。
在我的目录中有一个名为“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。