[玩转系统] 在 PowerShell 中获取当前目录 [6 种方法]
作者:精品下载站 日期:2024-12-14 05:24:40 浏览:15 分类:玩电脑
在 PowerShell 中获取当前目录 [6 种方法]
使用 Get-Location
Cmdlet
使用 Get-Location
cmdlet 获取 PowerShell 中当前工作目录的路径。
使用获取位置 Cmdlet:
Get-Location
输出 :
Path
------
C:\Users\DELL
正如我们在上面看到的,我们当前的工作目录是 C:\Users\DELL,这意味着我们当前正在 Users
中的 DELL
文件夹中工作Windows 操作系统的 C
驱动器上的 文件夹。
我们还可以使用 Set-Location
cmdlet 在 PowerShell 中设置不同的目录路径。现在,我们位于 C:\users\DELL 目录中。
使用设置位置 Cmdlet:
Set-Location C:\Intel\project
现在,让我们运行 Get-Location
cmdlet 来获取当前工作目录的位置并查看它是否已更改。
使用获取位置 Cmdlet:
Get-Location
输出 :
Path
----
C:\Intel\project
我们已成功将当前工作目录从 C:\users\DELL 更改为 C:\Intel\project。如果存在用自定义消息写入当前工作目录的情况,我们可以使用变量来达到目的。
使用获取位置 Cmdlet:
$CurrentDirectory = Get-Location
Write-Host "Our current Working Directory is $CurrentDirectory"
输出 :
Our current Working Directory is C:\Intel\project
在此代码中,Get-Location
将当前目录分配给名为 $CurrentDirectory
的变量。使用 Write-Host
cmdlet,我们可以在控制台上打印自定义消息。
因此,我们使用 Write-Host
在 PowerShell 终端上通过自定义消息显示当前目录的路径。注意:在 PowerShell 中,我们可以使用前缀 $
声明变量,就像我们在上面的代码中声明 $CurrentDirectory
一样。
使用 $pwd
命令
使用$pwd
命令获取PowerShell中当前工作目录的路径。
使用 $pwd 命令:
$pwd
输出 :
Path
----
C:\Intel\project
在这里,我们使用 $pwd
来获取当前工作目录。 $pwd
包含一个路径对象,用于检索当前目录的完整路径位置。在 PowerShell 中,此命令是 Get-Location
cmdlet 的别名。
$pwd
是一个自动变量,是 System.Management.Automation.PathInfo
类型之一。 PathInfo
的所有成员都可以通过此变量访问。如果您想了解更多信息,请查看此 PathInfo。
使用 Resolve-Path
Cmdlet [相对路径]
使用 Resolve-Path
cmdlet 获取 PowerShell 中当前目录中文件或子文件夹的相对路径。
使用解析路径 Cmdlet:
$relativePath = Get-Item \Intel\project\javaScript.txt | Resolve-Path -Relative
$relativePath
输出 :
.\project\javaScript.txt
在PowerShell中,我们可能需要获取当前目录中文件或子文件夹的相对路径。为此,我们使用 Get-Item
cmdlet 获取 \Intel\project.txt\javaScript.txt
中的项目。接下来,我们使用带有 -Relative
参数的 Resolve-Path
cmdlet 来获取相对路径,并将其分配给名为 $relativePath
的变量。
在上面的脚本中,我们可以看到我们位于文件夹 C:/Intel
中,其中包含一个子文件夹 project
,其中有一个名为 的项目或文件javaScript.txt
。
我们可以观察到,从PowerShell当前目录返回的是相对路径\project\javaScript.txt,而不是绝对路径C:\Intel\project\javaScript.txt 。
现在,什么是相对路径和绝对路径?在文件系统中,路径是指定文件或目录位置的字符串。路径有两种:绝对路径和相对路径。
绝对路径指定文件或目录的确切位置,从文件系统的根开始。例如,在 Windows 系统中,C:\Users\DELL\Documents 目录的绝对路径可能如下所示:
绝对路径:
C:\Users\DELL\Documents
绝对路径始终以根目录(在本例中为C:\ )开头,并指定一直到目标文件或目录的完整目录层次结构。
另一方面,相对路径指定文件相对于当前工作目录的位置或目录。当前工作目录是用户所在的目录,默认情况下将在其中创建任何新文件或目录。
例如,如果当前工作目录是 C:\Users\DELL\Documents 并且您想要指定 Downloads
目录的位置,则可以使用相对路径,例如这:
相对路径:
..\Downloads
此相对路径指定 Downloads 目录位于当前工作目录的上一级(..
代表 父目录
)。在下一节中,我们将学习如何获取父目录。
使用 Split-Path
Cmdlet [获取父工作目录]
使用Split-Path
cmdlet 拆分指定路径并提取父工作目录。
使用拆分路径 Cmdlet:
$CurrentDirectory = Get-Location
Split-Path -Path $CurrentDirectory -Parent
输出 :
C:\Intel
首先,我们将当前位置分配给名为$CurrentDirectory
的变量。其次,我们使用 Split-Path
以及参数 -Path
和 -Parent
从指定路径获取父工作目录。
-Path
参数用于接受我们要分割的路径字符串。这里目录的完整路径 C:\Intel\project 被传递给它。 (请注意,如果使用 -path
参数名称,我们还可以传递多个路径字符串)。
-Parent
参数返回指定路径的父位置(不带文件名)。正如我们在上面看到的,返回了C:\Intel,这是父目录。请注意,-Parent
是默认的split
位置参数,这意味着如果我们错过了这个-Parent
参数,我们仍然会获得父目录结果。
您可以参阅此文档以了解有关 Split-Path
cmdlet 的更多信息。
使用 System.Environment 类
使用System.Environment
类访问其CurrentDirectory
属性以检索PowerShell中的当前工作目录。
使用系统环境类:
[System.Environment]::CurrentDirectory
输出 :
C:\Users\DELL
在这里,我们使用 System.Environment
.NET 类的 CurrentDirectory
属性来获取当前工作目录。需要注意的一件事是,即使工作位置是 C:\Intel,它也会返回 C:\Users\DELL 作为当前目录路径。
在PowerShell中,我们可以为每个进程创建多个运行空间。每个运行空间的当前目录都不同。这与[System.Environment]::CurrentDirectory
不同。
Environment::CurrentDirectory
指的是进程当前正在运行的目录。它与 PowerShell 位置不同,后者特定于运行管道的运行空间。
注意:避免使用[Environment]::CurrentDirectory
并保持简单,使用Get-Location
或$PWD
来获取当前的路径工作目录。
使用 $PSScriptRoot
变量 [获取 PowerShell 脚本的当前目录]
使用 $PSScriptRoot
变量确定脚本文件 (.ps1
) 所在的当前目录。
获取脚本文件的当前目录:
$strDateTime = "2022-12-30"
[DateTime]$strDateTime
Write-Host 'Our Current working directory is:' $PSScriptRoot
上述脚本文件位于C:\Intel\project\ConvertString-toDate.ps1。请注意,脚本文件包含一个自动变量 $PSScriptRoot
,在脚本运行时调用。现在,让我们在 PowerShell 中运行上述脚本文件,如下所示。
运行脚本文件:
C:\Intel\project\ConvertString-toDate.ps1
输出 :
Friday, December 30, 2022 12:00:00 AM
Our Current working directory is: C:\Intel\project
当我们运行上面的 ConvertString-to-Date.ps1
脚本文件时,它将字符串转换为 DateTime
格式,并且自动变量 $PSScriptRoot
检索脚本的当前目录路径并显示它。
这就是如何在 PowerShell 中获取当前目录。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag