gpt4 book ai didi

PowerShell:使用相对路径从快捷方式运行脚本

转载 作者:行者123 更新时间:2023-12-04 01:03:22 24 4
gpt4 key购买 nike

编辑 :对于 future 的读者,简而言之,PowerShell 脚本不打算以这种方式使用,这就是为什么没有优雅的解决方案。

我有以下行,它从快捷方式以管理员身份运行脚本:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noprofile -noexit Start-Process Powershell -verb RunAs -ArgumentList "C:\Documents\WindowsPowerShell\Scripts\test.ps1"



我想改变:

"C:\Documents\WindowsPowerShell\Scripts\test.ps1"



到一个相对路径,如:

".\test.ps1"



但我还没有想出如何做到这一点。如何相对于快捷方式的位置运行脚本? (快捷方式和脚本在同一个文件夹中)

最佳答案

这是一个丑陋的解决方法。
Shortcut.lnk目标文件:%COMSPEC% /C .\launcher.cmd ( source ) 并开始于: %CD% (或 blank)。
Launcher.cmd包含内容的文件:

Powershell -noprofile -noexit -File %CD%\PSlauncher.ps1
PSlauncher.ps1包含内容的文件:
Start-Process Powershell -verb RunAs -ArgumentList ($pwd.path + "\test.ps1")

当然有更好的解决方案。也许与 -WorkingDirectory Start-Process 的参数?或 storing credentials使用 Convert*-SecureString cmdlet?算我好奇。

Why你想要捷径吗?

关于PowerShell:使用相对路径从快捷方式运行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22490785/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com