about_Locations
应用到: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0
about_Locations
介绍如何从 Windows PowerShell 中的工作位置访问项。
当前工作位置是命令所指向的默认位置。换言之,如果你未提供指向受该命令影响的项或位置的显式路径,这是 Windows PowerShell 所使用的位置。在大多数情况下,当前工作位置是通过 Windows PowerShell FileSystem 提供程序访问的驱动器,在某些情况下是该驱动器上的一个目录。例如,你可以将当前工作位置设置为以下位置:
C:\Program Files\Windows PowerShell
因此,从此位置处理所有命令,除非显式提供其他路径。
Windows PowerShell 为每个驱动器维护当前工作位置,即使该驱动器不是当前驱动器。这使你可以通过仅引用其他位置的驱动器来从当前工作位置访问项。例如,假设你的当前工作位置是 C:\Windows。现在,假设你使用以下命令将当前工作位置更改为 HKLM:驱动器:
Set-Location HKLM:
尽管你的当前位置现在是注册表驱动器,但你仍然可以访问 C:\Windows 目录中的项,只需使用 C:驱动器即可,如以下示例所示:
Get-ChildItem C:
Windows PowerShell 会记住该驱动器的当前工作位置是 Windows 目录,因此它将检索来自该目录的项。如果你曾运行以下命令,则结果将相同:
Get-ChildItem C:\Windows
在 Windows PowerShell 中,你可以使用 Get-Location 命令确定当前工作位置,并且可以使用 Set-Location 命令设置当前工作位置。例如,以下命令将当前工作位置设置为 C:驱动器的 Windows 目录:
Set-Location c:\windows
设置当前工作位置后,你仍然可以访问其他驱动器中的项,只需在命令中包含驱动器名称(后跟冒号)即可,如以下示例所示:
Get-ChildItem HKLM :\software
示例命令将检索注册表中 HKEY 本地计算机配置单元的软件容器中的项列表。
Windows PowerShell 还允许你使用特殊字符来表示当前工作位置及其父位置。若要表示当前工作位置,请使用单个句点。若要表示当前工作位置的父级,请使用两个句点。例如,以下指定当前工作位置中的 System 子目录:
Get-ChildItem .\system
如果当前工作位置是 C:\Windows,则此命令将返回 C:\Windows\System 中所有项的列表。但是,如果你使用两个句点,则将使用当前工作目录的父目录,如以下示例所示:
Get-ChildItem ..\"program files"
在这种情况下,Windows PowerShell 将两个句点视为 C:驱动器,因此该命令将检索 C:\Program Files 目录中的所有项。
以正斜杠开头的路径标识从当前驱动器的根目录开始的路径。例如,如果你的当前工作位置是 C:\Program Files\Windows PowerShell,则驱动器的根目录为 C。因此,以下命令将列出 C:\Windows 目录中的所有项:
Get-ChildItem \windows
如果你在提供容器或项的名称时未指定以驱动器名称、正斜杠或句点开头的路径,则假定该容器或项位于当前工作位置中。例如,如果你的当前工作位置是 C:\Windows,则以下命令将返回 C:\Windows\System 目录中的所有项:
Get-ChildItem system
如果你指定文件名而不是目录名称,则 Windows PowerShell 将返回有关该文件的详细信息(假定该文件位于当前工作位置中)。
Set-Location
about_Providers
about_Path_Syntax