gpt4 book ai didi

PowerShell:从脚本目录运行命令

转载 作者:行者123 更新时间:2023-12-01 23:01:39 31 4
gpt4 key购买 nike

我有一个 PowerShell 脚本,它使用脚本的当前目录执行一些操作。因此,当在该目录中时,运行 .\script.ps1工作正常。

现在我想从不同的目录调用该脚本而不更改脚本的引用目录。所以我想打电话..\..\dir\script.ps1并且仍然希望该脚本按照从其目录内部调用的方式运行。

我该怎么做,或者我如何修改脚本以便它可以从任何目录运行?

最佳答案

你的意思是你想要脚本自己的路径,以便你可以引用脚本旁边的文件?试试这个:

$scriptpath = $MyInvocation.MyCommand.Path
$dir = Split-Path $scriptpath
Write-host "My directory is $dir"
您可以从 $MyInvocation 及其属性中获取大量信息。
如果要引用当前工作目录中的文件,可以使用 Resolve-Path 或 Get-ChildItem:
$filepath = Resolve-Path "somefile.txt"
编辑(基于 OP 的评论):
# temporarily change to the correct folder
Push-Location $dir

# do stuff, call ant, etc

# now back to previous directory
Pop-Location
可能还有其他使用 Invoke-Command 实现类似功能的方法。

关于PowerShell:从脚本目录运行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4724290/

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