gpt4 book ai didi

PowerShell:是否可以编写一个引用其文件夹中的文件的脚本,无论从哪里调用它仍然可以工作?

转载 作者:行者123 更新时间:2023-12-02 23:04:35 27 4
gpt4 key购买 nike

假设我在 C:\scripts\MyScript.ps1 有一个脚本,它很简单:

Get-Content ".\text.txt"

在 C:\scripts 中,我还有一个文件 text.txt,其中包含调用脚本时打印的任意文本。如果我在 PowerShell 的当前目录为 C:\scripts 时使用该脚本,则该脚本可以正常工作。但是,如果 PowerShell 当前位于不同的目录中,例如C:\otherFolder,然后从 PoSh 命令窗口调用脚本失败:

PS C:\otherFolder> ..\scripts\MyScript.ps1

这是我所期望的,因为脚本中对 text.txt 的引用是相对的,并且该文件不存在于 C:\otherFolder 中。我的问题是,有没有办法编写一个具有对其他文件的相对引用的脚本,即使从不同的文件夹中调用,该脚本仍然可以按预期工作?

我意识到如果脚本引用“C:\scripts\text.txt”就不会出现问题,但我希望能够移动脚本(及其依赖文件)而无需更新每次都在脚本中引用。

谢谢。

最佳答案

在你的脚本中尝试一下:

$scriptpath = $MyInvocation.MyCommand.Path
$dir = Split-Path $scriptpath
$path = join-path $dir "text.txt"
get-content $path

关于PowerShell:是否可以编写一个引用其文件夹中的文件的脚本,无论从哪里调用它仍然可以工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19544849/

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