我有一个PowerShell脚本,使用脚本的当前目录执行一些操作.因此,当在该目录中时,运行.\script.ps1正常.
现在我想从不同的目录调用该脚本而不更改脚本的引用目录.所以我想调用..\..\dir\script.ps1并仍然希望该脚本在其目录中调用时的行为.
我该怎么做,或者如何修改脚本以便它可以从任何目录运行?
我正在用 C# 为 PowerShell 编写一个 Cmdlet。我正在继承 aCmdlet而不是 a PSCmdlet。
有没有办法从 PowerShell 获取当前目录?我可以PSCmdlet使用 using这样做GetVariableValue("pwd")。但是在 Cmd 类中我没有那个可用。
Environment.CurrentDiretory 将我指向 powershell 启动的路径,而不是 PowerShell 本身当前所在的位置。
编辑
例子:
我通过 - say - 启动powershell powershell_ise.exe。它在C:\Windows\System32\WindowsPowerShell\v1.0. 然后我使用更改路径cd c:\my\folder并运行我的命令Do-Something。在“Do-Something”(C# 端)的实现中,我希望能够检索当前路径 => c:\my\folder。
如果可能,我想避免使用PSCmdlet.