当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何在PowerShell中获取当前目录的完整路径?

作者:精品下载站 日期:2024-12-14 17:15:15 浏览:13 分类:玩电脑

如何在PowerShell中获取当前目录的完整路径?


PowerShell 中的 Get-Location cmdlet 获取当前目录完整路径,类似于打印当前目录的 PowerShell pwd。

在本教程中,我们将通过示例讨论使用 PowerShell 获取当前目录完整路径和脚本文件的当前目录。

我们将提供有关在 PowerShell 中使用不同方式获取当前目录路径的详细指南。

PowerShell 当前目录路径

PowerShell $pwd - 打印当前目录

$pwd

PowerShell中的pwd(打印工作目录)获取当前工作目录的当前路径到标准输出。

PowerShell pwd 是 PowerShell 中 Get-Location cmdlet 的别名。 $pwd 自动变量是 System.Management.Automation.PathInfo 的一种类型,可以访问 PathInfo 成员。

PowerShell 使用 Get-Location 获取当前目录

C:\Program Files>Get-Location

PowerShell 中的 Get-Location cmdlet 获取当前目录,Windows 操作系统 C 盘的 Program Files。它打印当前工作目录的完整路径名。

让我们设置不同的目录路径。 PowerShell 中的 Set-Location cmdlet 用于设置工作目录,如下所示

Set-Location C:\Users\ShellAdmin

现在运行 Get-Location cmdlet 并查看结果

Get-Location

它现在返回当前执行目录为 C:\Users\ShellAdmin

PowerShell 当前目录变量

在 PowerShell 中,使用以下命令将当前目录获取到变量

$curDir = Get-Location
Write-Host "Current Working Directory: $curDir"

Get-Location PowerShell 命令将当前目录分配给变量 $curDir。 write-Host cmdlet 将打印 PowerShell 终端上的当前文件夹路径。

在 PowerShell 中获取父目录路径

让我们假设您的目录结构为 C:\Backup\01-Sept\

如果您想获取父工作目录,可以使用以下命令获取目录

$curDir = Get-Location
Split-Path -Path $curDir -Parent

在上面的 PowerShell 脚本中,获取当前目录完整路径 C:\Backup\01-Sept\ 并将其分配给变量 $curDir。

第二个命令使用 Split-Path cmdlet 将父目录路径返回为 C:\Backup。

酷提示:了解如何在 PowerShell 中获取文件夹和子文件夹的权限!

从PowerShell当前目录获取相对路径

我们将继续上面的示例,其中 PowerShell 当前目录结构为 C:\Backup\01-Sept\sqlbackup.ps1

获取脚本文件相对路径

$relativePath = Get-Item Backup-Sept\sqlbackup.ps1 | Resolve-Path -Relative

上面的命令获取 PowerShell 当前目录的相对路径为 .\01-Sept\sqlbackup.ps1

酷提示:了解如何在 PowerShell 中获取当前目录的完整路径!

PowerShell 使用 System.Environment 获取当前目录

使用 [System.Environment]::CurrentDirectory 属性获取 PowerShell 当前目录。

PS D:\PowerShell> [System.Environment]::CurrentDirectory                                                                C:\Users\ShellAdmin
PS D:\PowerShell>                                                                                                                            

在上面的 PowerShell 脚本中,System.Environment CurrentDirectory 属性用于获取当前工作目录。请注意,即使工作位置设置为 D:\PowerShell,它也会返回当前目录路径

PowerShell获取脚本文件的当前目录

要获取脚本文件或正在运行的脚本的当前目录,请使用 $PSScriptRoot 自动变量。 PSScriptRoot 变量包含调用当前命令的路径的完整脚本。

让我们使用下面的示例来了解获取脚本 (ps1) 文件的当前目录,

示例,脚本位置:D:\PowerShell\ConvertString-toDate.ps1

脚本文件包含 $PSScriptRoot 自动变量并在运行时调用它。

# Convert datetime to yyyy-mmm-dd datetime format
'{0:yyyy-MMM-dd}' -f $convertDate

# Get Current Directory path of running script
Write-Host $PSScriptRoot

当我们运行上面的脚本文件时,它的 $PSScriptRoot 变量获取正在运行的脚本的当前目录路径并打印它。

上述脚本的输出

[玩转系统] 如何在PowerShell中获取当前目录的完整路径?

在上图中,当我们运行 ConvertString-toDate.ps1 脚本文件时,它会打印迄今为止的字符串并获取 PowerShell 中的脚本目录路径。

结论

我希望上面的博文可以帮助您了解使用 PowerShell 以不同方式获取当前目录完整路径。

PowerShell Get-Location cmdlet 获取当前工作位置信息。在PowerShell中使用pwd和Get-Location cmdlet,您可以获取当前文件夹路径、获取脚本目录路径以及打印当前目录。

本文中使用 Set-Location cmdlet 来设置工作目录。

您可以在 ShellGeek 主页上找到有关 PowerShell Active Directory 命令和 PowerShell 基础知识的更多主题。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯