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

[玩转系统] PowerShell 获取位置 | PowerShell 获取位置实施指南

作者:精品下载站 日期:2024-12-14 04:55:32 浏览:16 分类:玩电脑

PowerShell 获取位置 | PowerShell 获取位置实施指南


[玩转系统] PowerShell 获取位置 | PowerShell 获取位置实施指南

PowerShell Get-Location 简介

一般来说,很多时候我们忘记了我们当前所在的位置,我的意思是我们在哪个目录中。永远不要对“获取位置”感到困惑,位置意味着您的物理地址,它是关于您的目录,即您工作的位置。因此,如果您了解一点基于 Linux 的系统中使用的 PWD(当前工作目录),那么它几乎是相同的。 PowerShell Get-location 命令始终为您提供当前工作目录。让我讲一下它的一个重要用途,假设您正在编写一个脚本,该脚本将下载该脚本所在目录中的任何文件,那么我们可以使用 Get-Location 函数。

在这里,我们将在脚本中传递 download=Get-Location 的路径,我们将看到所有下载都发生在脚本所在的同一目录中。它的主要好处是,假设您与任何其他人共享您的脚本,并且他正在他的系统上运行您的脚本,那么他不需要手动提及下载路径,因为 Get-Location 将自动找到他的系统当前路径并在该目录中下载。

PowerShell Get-Location 的语法和参数

下面给出了 PowerShell Get-Location 的非常简单的语法:

语法:

Get-Location
[-PSProvider <Array of String]
[-PSDrive <Array of String>]
[<CommonParameters>]
Get-Location [-stack]
[-stackName <Array of String>]- .
[-UseTransaction]
[CommonParameters]

Get-Location 始终返回对象。它具有某些参数来执行一些额外的工作,而不仅仅是获取当前工作目录名称。我们来讨论一下它的参数。

参数

让我们详细讨论 PowerShell 获取位置参数:

  • -PSDrive:如果我们想要获取 PowerShell 特定驱动器中的当前位置,则 Get-Location 会提供当前工作目录,而我们可以使用 -PSDrive 命令。例如,假设您当前位于 /home/Ranjan/etc 目录中,并且想要查看 /home/Ranjan/Document 中的当前位置,则可以使用此命令。
  • -PSProvider:现在,如果您想使用 PowerShell 查找注册表的当前位置,则可以使用 -PSProvider例如,如果您位于目录“/ home/Ranjan/etc ”并且您想要获取当前 PowerShellRegistry 提供程序的位置。
  • -stack:你一定听说过栈,栈就是LIFO(后进后出)。这里的堆栈条目将目录位置。因此,假设您想查看所有以前的位置,那么我们可以在 PowerShell 中使用位置推送命令。让我向你解释一个例子,如果你在目录“/Ranjan”中,你推送“/file1”,然后推送“/file”,然后推送“/file3”。最后你可以得到文件格式的推送目录。我在示例部分对此进行了解释。
  • -stackName:它显示某个定义的路径堆栈中的位置。我们可以创建自己的路径堆栈。如果您想使用任何堆栈名称创建自己的路径堆栈推送位置。您可以再次使用您定义的名称取回堆栈。
  • -UseTransaction:这些就像辅助命令,它们通常位于命令的末尾。它包含活动命令,例如 -ErrorVariable、-WarningAction、-WarningVariable、-ErrorAction、-ErrorVariable、-OutBuffer -OutVariable、-Verbose、-Debug。

实施 PowerShell 删除项目的示例

这是实现 PowerShell 删除项目的示例,如下所示:

示例#1

在下面的示例中,我们编写了一个非常简单的命令,您在一般工作中可能需要多次运行该命令。在此命令中,我们只是获取当前工作目录。

正如我们在简介中所知,Get-Location 命令非常有用,因为很多时候,如果我们使用静态路径编写脚本,并且如果相同的脚本转到其他系统,它将无法工作,因为我们已经提到了静态路径,就像我的系统路径是“/home/Ranjan/Document”,我写的是静态的,但是如果我们在您的系统上运行相同的脚本,它将出错,因为您的系统路径可能是“/home/yourusername/Document”和“/home /Ranjan/Document ”可能无法识别。

因此,编写 Get-location 将在每个系统上工作,因为路径是动态的,它将在我的系统上返回“/home/Ranjan/Document”,并在您的系统上返回“/home/您的用户名/Document”。

代码:

Get-Location

[玩转系统] PowerShell 获取位置 | PowerShell 获取位置实施指南

它将返回一个对象。在下面的示例中,我们展示了与 Linux 的 PWD 命令相同的功能,它执行相同的操作。我们不需要学习 pwd Linux 命令,知道的人可以做一点分析。

[玩转系统] PowerShell 获取位置 | PowerShell 获取位置实施指南

示例#2

让我们编写一些更复杂的 Get-Location。我们讨论了-StackName。因此,在这里,我们可以推送位置,您可以在下图中看到示例。通过编写 Get-Location -Stack 它会返回我们推送的所有目录。如果您正在编写任何脚本并且希望脚本捕获所有路径和目录,然后您可以使用这些内容,那么这些情况非常有用。请记住,它的概念与任何编程语言的堆栈非常相似。因为您可以推送目录,也可以将它们取回。

代码:

Get-Location -Stack
Push-Location ./ranjan/ -StackName Stack2
Get-Location -StackName Stack2

输出:

[玩转系统] PowerShell 获取位置 | PowerShell 获取位置实施指南

示例#3

PowerShell 还为您提供了自定义 Get-Location 命令的选项。自定义意味着根据我们的要求获取输出或更改 Get-location 命令的输出。让我告诉你一个实时情况。假设您正在编写任何脚本,并且您的脚本根据其输入给出各种输出,现在如果其他人将使用相同的脚本并且他想理解所有输出,他可能会感到困惑,因为如果他得到像“home/ Ranjan/etc”、“home/Ranjan/Document”等。

那么他将如何理解哪个输出正在讲述当前目录,因为所有输出都只是目录。因此,在下面的示例中,我们正在编写一个函数来告知更多详细信息或更改的消息。你可以自己写。

代码:

Function customisation {‘Location is: ’ +(get-location) + ‘>’}
customization

输出:

[玩转系统] PowerShell 获取位置 | PowerShell 获取位置实施指南

位置是/home/Ranjan/Documents

这个输出对于任何人来说都非常清楚,它是关于当前目录的。您可以根据需要编写其他消息。在这里,我们将字符串消息与目录的动态输出连接起来。

示例#4

您可以根据您的用途编写多种自定义功能。

代码:

Function customisation {‘Current working: ’ +(get-location) + ‘>’}
Customisation

当前工作位置:/home/Ranjan/Documents/projects/productms/sitemap

代码:

Function customisation {‘Older directory is : ’ +(get-location) + ‘>’}
Customisation

旧目录是:/home/Ranjan/Documents/projects/productms/sitemap

输出:

[玩转系统] PowerShell 获取位置 | PowerShell 获取位置实施指南

结论

这是一个日常使用的命令,在一般编程中,我们大多数时候都会面临获取当前工作目录名称的情况。 PowerShell Get-Location 的主要用途是创建动态目录名称,而不是手动编写目录名称,以便相同的脚本也可以在其他系统上运行

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

取消回复欢迎 发表评论:

关灯