关于路径语法

简短说明

介绍 PowerShell 中的完整和相对路径名称格式。

详细说明

可通过 PowerShell 提供程序访问数据存储中的所有项通过其路径名称唯一标识。 路径名称是项名称、项所在的容器和子容器以及用于访问容器的 PowerShell 驱动器的组合。

在 PowerShell 中,路径名称分为两种类型之一:完全限定和相对。 完全限定的路径名称由构成路径的所有元素组成。 以下语法显示完全限定的路径名称中的元素:

[<provider>::]<drive>:[\<container>[\<subcontainer>...]]\<item>

提供程序<>占位符是指通过它访问数据存储的 PowerShell 提供程序。 例如,FileSystem 提供程序允许访问计算机上的文件和目录。 语法的此元素是可选的,永远不需要,因为驱动器名称在所有提供程序中都是唯一的。

驱动器<>占位符是指特定 PowerShell 提供程序支持的 PowerShell 驱动器。 对于 FileSystem 提供程序,PowerShell 驱动器映射到系统上配置的 Windows 驱动器。 例如,如果系统包含 A: 驱动器和 C: 驱动器,则 FileSystem 提供程序会在 PowerShell 中创建相同的驱动器。

指定驱动器后,必须指定包含该项的任何容器和子容器。 容器必须按照数据存储中存在的分层顺序指定。 换句话说,必须从父容器开始,然后从该父容器中的子容器开始,等等。 此外,每个容器前面必须有反斜杠。 (请注意,PowerShell 允许使用正斜杠与其他 PowerShells 兼容。)

指定容器和子容器后,必须提供项名称,前面有反斜杠。 例如,C:\Windows\System32 目录中 Shell.dll 文件的完全限定路径名称如下所示:

C:\Windows\System32\Shell.dll

在这种情况下,访问容器的驱动器是 C: 驱动器,顶级容器是 Windows,子容器是位于 Windows 容器) 内的 System32 (,项 Shell.dll。

在某些情况下,不需要指定完全限定的路径名称,而是可以使用相对路径名称。 相对路径名称基于当前工作位置。 PowerShell 允许根据项相对于当前工作位置的位置来标识项。 可以使用特殊字符指定相对路径名称。 下表描述了其中每个字符,并提供了相对路径名称和完全限定的路径名称的示例。 表中的示例基于当前设置为 C:\Windows 的工作目录。

符号 说明 相对路径 完整路径
. 当前位置 。\系统 c:\Windows\System
.. 当前位置的父级 ..\Program Files c:\Program Files
\ 当前驱动器根目录 \Program Files c:\Program Files
location
[none] 无特殊字符 系统 c:\Windows\System

在命令中使用路径名时,无论使用完全限定路径名还是相对路径名,都以相同的方式输入该名称。 例如,假设当前工作目录为 C:\Windows。 以下 Get-ChildItem 命令检索 C:\Techdocs 目录中的所有项:

Get-ChildItem \techdocs

反斜杠指示应使用当前工作位置的驱动器根目录。 由于工作目录是 C:\Windows,因此驱动器根目录是 C: 驱动器。 由于 techdocs 目录位于根目录外,因此只需指定反斜杠。

可以使用以下命令实现相同的结果:

Get-ChildItem c:\techdocs

无论是使用完全限定的路径名称还是相对路径名称,路径名称都很重要,这不仅因为它定位了一个项,而且因为它唯一地标识了该项,即使该项与另一个容器中的另一项共享同名。

例如,假设你有两个文件,每个文件都名为 Results.txt。 第一个文件位于名为 C:\Techdocs\Jan 的目录中,第二个文件位于名为 C:\Techdocs\Feb 的目录中。第一个文件 (C:\Techdocs\Jan\Results.txt) 的路径名和第二个文件 (C:\Techdocs\Feb\Results.txt) 的路径名使你能够清楚地区分这两个文件。

另请参阅

about_Locations