获取真正的exe位置路径
Get real exe location path
我正在尝试通过以下方式执行 2 个 exe(File1.exe
和 File2.exe
)
另一个脚本转换为 exe (Run.exe
) .. 当我使用 Run.exe
脚本中的行时它工作正常:
Start-Process -FilePath "$(Get-Location)\Folder1\File1.exe"
Start-Process -FilePath "$(Get-Location)\Folder2\File2.exe"
问题是 File1.exe
和 File2.exe
获取启动器的位置(即 Run.exe
)而不是它们自己的位置:
我的架构是:
Desktop\run.exe
Desktop\folder1\file1.exe
Desktop\folder2\file2.exe
File1.exe
和 file2.exe
中的脚本是:
write-host "$(Get-Location)"
所以这必须在 file1.exe
和 file2.exe
的控制台 windows 中打印 C:\Users\Sensei\Desktop\folder1
和 C:\Users\Sensei\Desktop\folder2
当我 运行 启动器( Run.exe
),但我得到的是启动器路径,即C:\Users\Sensei\Desktop
答案在这里:
$FullPathToEXE = [System.Diagnostics.Process]::GetCurrentProcess().MainModule.FileName
$DirectoryContainingEXE = [System.IO.Path]::GetDirectoryName($FullPathToEXE)
我正在尝试通过以下方式执行 2 个 exe(File1.exe
和 File2.exe
)
另一个脚本转换为 exe (Run.exe
) .. 当我使用 Run.exe
脚本中的行时它工作正常:
Start-Process -FilePath "$(Get-Location)\Folder1\File1.exe"
Start-Process -FilePath "$(Get-Location)\Folder2\File2.exe"
问题是 File1.exe
和 File2.exe
获取启动器的位置(即 Run.exe
)而不是它们自己的位置:
我的架构是:
Desktop\run.exe
Desktop\folder1\file1.exe
Desktop\folder2\file2.exe
File1.exe
和 file2.exe
中的脚本是:
write-host "$(Get-Location)"
所以这必须在 file1.exe
和 file2.exe
的控制台 windows 中打印 C:\Users\Sensei\Desktop\folder1
和 C:\Users\Sensei\Desktop\folder2
当我 运行 启动器( Run.exe
),但我得到的是启动器路径,即C:\Users\Sensei\Desktop
答案在这里:
$FullPathToEXE = [System.Diagnostics.Process]::GetCurrentProcess().MainModule.FileName
$DirectoryContainingEXE = [System.IO.Path]::GetDirectoryName($FullPathToEXE)