РАЗДЕЛ about_Path_Syntax КРАТКОЕ ОПИСАНИЕ Описание форматов полного и относительного имени пути в Windows PowerShell. ПОЛНОЕ ОПИСАНИЕ Каждый элемент в хранилище данных, доступный с помощью поставщика Windows PowerShell, имеет уникальное имя пути. Имя пути - это сочетание имени элемента, контейнера и вложенных контейнеров (в которых расположен элемент), а также диска Windows PowerShell, через который осуществляется доступ к контейнерам. Имена путей в Windows PowerShell подразделяются на два типа: полные и относительные. Полное имя пути включает все элементы пути. Оно имеет следующий формат: [<поставщик>::]<диск>:[\<контейнер>[\<вложенный_контейнер>...]]\<элемент> <поставщик> - это поставщик Windows PowerShell, через который осуществляется доступ к хранилищу данных. Например, поставщик FileSystem обеспечивает доступ к файлам и каталогам компьютера. Этот элемент синтаксиса необязателен и никогда не требуется, потому что имена дисков уникальны среди всех поставщиков. <диск> - это диск Windows PowerShell, поддерживаемый определенным поставщиком Windows PowerShell. В случае поставщика FileSystem диски Windows PowerShell отображаются на имеющиеся в системе диски Windows. Например, если в системе имеются диски A: и C:, поставщик FileSystem создает такие же диски в Windows PowerShell. Указав диск, необходимо указать контейнеры и вложенные контейнеры, содержащие элемент. Контейнеры должны быть указаны в том же иерархическом порядке, в котором они располагаются в хранилище данных. Иначе говоря, сначала нужно указать родительский контейнер, затем содержащийся в нем дочерний контейнер и т. д. Каждому контейнеру должна предшествовать обратная косая черта (\). (Обратите внимание, что Windows PowerShell позволяет использовать и прямую косую черту (/) для совместимости с другими оболочками PowerShell.) После того как заданы контейнер и вложенные контейнеры, необходимо указать имя элемента после обратной косой черты. Например, полное имя пути к файлу Shell.dll в каталоге C:\Windows\System32 будет таким: C:\Windows\System32\Shell.dll В данном случае диском, через который осуществляется доступ к контейнерам, является диск C:, контейнером верхнего уровня - Windows, вложенным контейнером (находящимся в контейнере Windows) - System32, а элементом - Shell.dll. В некоторых ситуациях вместо полного имени пути можно использовать относительное. Относительное имя пути основано на текущем рабочем местоположении. Windows PowerShell позволяет идентифицировать элемент по его местоположению относительно текущего рабочего местоположения. Относительные имена путей можно указать с использованием специальных символов. В следующей таблице приведены все эти символы, а также примеры полных и относительных имен путей. Текущим рабочим каталогом в данных примерах является C:\Windows. Символ Описание Относительный путь Полный путь ------ ------------------------ ------------------- --------- . Текущее рабочее .\System c:\Windows\System местоположение .. Родительский каталог ..\Program Files c:\Program Files текущего рабочего местоположения \ Корневой диск текущего \Program Files c:\Program Files рабочего местоположения [нет] Нет специальных символов System 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