如何在.NET平台跨平台获取正确的PowerShell可执行文件路径?
跨平台.NET环境下获取PowerShell可执行文件路径的可靠方法
之前已有类似问题被提出,但PowerShell经过多版本迭代后,现在有了不同的可执行文件名(pwsh.exe),而过往所有答案都默认powershell.exe不会变更。
是否存在一种在.NET上跨平台获取最新(或用户偏好的)PowerShell可执行文件路径的可靠方法,无需采用“先在PATH中查找pwsh.exe,失败再找powershell.exe”这类取巧方式?显然,如果pwsh.exe日后再次更名,这种方法也会失效,更不用说用户偏好的版本可能与系统安装的版本不同。
就连MS-DOS都有COMSPEC环境变量实现该功能,Unix系统也有SHELL变量,我惊讶于PowerShell竟无此类机制。
或许可以从PowerShell的运行时变量中获取该信息,但我需要从外部.NET进程调用它。
内容的提问来源于stack exchange,提问作者Sedat Kapanoglu
相关产品推荐
相关产品推荐

