PowerShell中PowerShell文件的文件夹路径

41

我的 PowerShell 脚本文件位于 C:/this-folder/that-folder/another-folder/powershell-file.ps1

如何获取一个变量,它返回 C:/this-folder/that-folder/another-folder/


这似乎在询问 powershell-file.ps1 如何获取其自身的父目录路径,但最好明确说明一下。 - Lance U. Matthews
4个回答

56

在您的脚本中尝试这个命令:

Split-Path -parent $MyInvocation.MyCommand.Definition

18
在PowerShell 3.0中,您可以使用新的$PSScriptRoot变量获取它,而使用$PSCommandPath可获取完整的脚本路径。 此外,MVP Keith Hill还有一篇很棒的文章供您参考:安全确定$ScriptDir

9

问题并不明确,但似乎在询问如何获取“正在执行的脚本”的目录路径。如果您要硬编码路径,那么最好只需执行 $dirName = "c:\temp\abc\myproj1" 即可。 - Lance U. Matthews

2
我猜您想知道脚本在运行时所在的文件夹。
这应该可以解决问题:
Split-Path $MyInvocation.MyCommand.Path

2
这包括脚本名称,他已经知道了,所以其他答案更正确。 - Johny Skovdal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接