powershell - 为什么打包为EXE时无法获取当前运行脚本的名称?
问题描述
通常在我的脚本中,我使用以下内容来获取当前脚本的名称(不带扩展名):
$baseName = (Get-Item $PSCommandPath).BaseName
出于某种原因,当脚本被打包为可执行文件时,这(以及我能想到的所有其他方式来获取正在运行的脚本的名称)不起作用。我正在使用带有 VS Code 的 Powershell Pro Tools 来打包脚本。虽然我可以硬编码基本代码,但我不希望这样做。我能做些什么来解决这个问题吗?有什么方法可以获取可执行文件的名称,即使它实际上是一个脚本?
谢谢
解决方案
最终使用$baseName = [System.Diagnotics.Process]::GetCurrentProcess.Name
. 这似乎奏效了。
推荐阅读
- javascript - 招聘平台-搜索功能
- firebase - 如何在 Cloud Firestore 中使用 Stream 回调
- java - 如何在 Spring Boot 嵌入式 Web 服务器中实现速率限制功能
- python - 在字符串python数组中使用条件对单词重新排序
- excel - 动态范围副本
- c# - 向 TestServer 的 HttpClient 添加一个委托处理程序(传出请求中间件)
- erlang - 编写一个函数,给定一个列表,将删除所有其他元素,首先删除第一个元素
- kotlin - kotlin 使用 rxjava2 map 运算符修改用户列表
- react-native - 在 (Accordion NativeBase) 中的 renderContent 或 renderHeader 中无法访问全局 this.state
- javascript - 在剪切路径中使用时重新计算滚动 div 的位置