将ps1脚本文件转换为exe可执行文件后,使用$MyInvocation.MyCommand.Name返回空值的原因是因为在转换过程中,脚本的元数据和路径信息可能会发生改变,导致无法正确获取脚本的名称。
一种可能的解决方法是使用$PSScriptRoot变量来获取当前脚本的绝对路径,然后使用[System.IO.Path]::GetFileNameWithoutExtension方法获取脚本的名称。修改后的代码如下:
$scriptPath = Split-Path -Parent $MyInvocation.MyCommand.Path
$scriptName = [System.IO.Path]::GetFileNameWithoutExtension($MyInvocation.MyCommand.Path)
Write-Host "脚本路径:$scriptPath"
Write-Host "脚本名称:$scriptName"
这样可以确保无论脚本是ps1文件还是转换后的exe文件,都能正确获取脚本的名称。
此外,腾讯云提供了一系列与云计算相关的产品,如云服务器、云数据库、云存储等。根据具体的需求,可以选择适合的腾讯云产品进行部署和管理。更多关于腾讯云的产品介绍和相关链接,请访问腾讯云官方网站:https://cloud.tencent.com/
领取专属 10元无门槛券
手把手带您无忧上云