
PowerShell позволяет управлять файловой системой без открытия проводника, используя команды для смены диска, перехода между каталогами и работы с файлами. Для смены диска используется команда Set-Location или сокращение cd, за которой указывается буква диска и двоеточие, например: cd D:.
Работа с каталогами строится на понимании относительных и абсолютных путей. Абсолютный путь начинается с корня диска, например: C:\Users\Admin\Documents. Относительный путь задаётся относительно текущего каталога, например: ..\Projects для перехода на уровень выше.
Для просмотра содержимого каталога используется Get-ChildItem, позволяющая фильтровать файлы по маске или расширению. Создание новых папок выполняется командой New-Item -ItemType Directory -Name «ИмяПапки», а удаление и переименование – Remove-Item и Rename-Item соответственно.
PowerShell поддерживает работу с сетевыми дисками и UNC-путями, что позволяет подключать ресурсы по адресу \\сервер\папка и использовать их так же, как локальные каталоги. Сохранение текущего пути через переменные облегчает переход между часто используемыми каталогами и ускоряет выполнение повторяющихся операций.
Переключение между локальными дисками командой Set-Location

Для смены диска в PowerShell используется команда Set-Location, сокращённо cd. Укажите букву диска с двоеточием, например: Set-Location D: или cd D:. После выполнения команды текущий каталог изменится на корень указанного диска.
Если требуется перейти сразу в конкретный каталог на другом диске, используйте полный путь через Set-Location:
| Команда | Описание |
|---|---|
| Set-Location C:\Users\Admin\Documents | Переход в каталог Documents на диске C |
| cd D:\Projects\2025 | Смена диска на D и переход в каталог Projects\2025 |
PowerShell сохраняет текущий путь каждого диска, что позволяет переключаться между ними без потери контекста. Например, после перехода с C: на D:, возвращение на C: с помощью cd C: вернёт вас в тот каталог, в котором вы находились перед сменой диска.
Для быстрого перемещения между дисками удобно использовать переменные: $currentC = Get-Location сохраняет путь на C, а Set-Location $currentC возвращает вас обратно. Это особенно полезно при работе с несколькими проектами на разных дисках.
Использование относительных и абсолютных путей в PowerShell
Абсолютный путь указывает точное расположение каталога или файла, начиная с корня диска. Пример: C:\Users\Admin\Documents\Project. Использование абсолютного пути удобно при скриптах, где важно точно указать местоположение ресурсов.
Относительный путь задаётся относительно текущего каталога. Для перехода на один уровень выше используется ..\, для текущего – .\. Например, если текущий каталог C:\Users\Admin\Documents, команда cd ..\Projects перенесёт вас в C:\Users\Admin\Projects.
Комбинация относительных и абсолютных путей позволяет ускорять навигацию. Абсолютные пути используют при первой установке контекста, относительные – для быстрого перехода между соседними каталогами без повторного ввода полного адреса.
Для проверки текущего пути применяется команда Get-Location, а для отображения структуры каталогов – Get-ChildItem. Это помогает корректно формировать относительные пути и предотвращает ошибки при смене директорий.
Просмотр содержимого каталога с помощью Get-ChildItem
Примеры базового использования:
- Get-ChildItem C:\Users\Admin\Documents – просмотр файлов и папок в указанной директории.
Фильтрация по маске или типу файлов:
- Get-ChildItem *.txt – только текстовые файлы.
- Get-ChildItem -Directory – только папки.
- Get-ChildItem -File -Recurse – все файлы в текущем каталоге и подкаталогах.
Дополнительные параметры позволяют сортировать и отображать свойства файлов:
- Get-ChildItem | Sort-Object Length – сортировка по размеру.
- Get-ChildItem -Force – отображение скрытых и системных файлов.
Использование этих опций ускоряет поиск нужных файлов и анализ структуры каталогов без открытия проводника.
Создание новых папок командой New-Item

Для создания новых каталогов в PowerShell используется команда New-Item с параметром -ItemType Directory. Это позволяет задавать имя новой папки и её расположение.
Примеры использования:
- New-Item -ItemType Directory -Name «Project» – создаёт папку «Project» в текущем каталоге.
- New-Item -ItemType Directory -Path «D:\Projects» -Name «2025» – создаёт каталог «2025» внутри «D:\Projects».
- New-Item -ItemType Directory -Path «C:\Users\Admin\Documents\Work» -Force – создаёт путь, включая все промежуточные папки, если они отсутствуют.
Рекомендации по использованию:
- Для создания нескольких каталогов используйте цикл foreach или массив имён: @(«Project1″,»Project2») | ForEach-Object { New-Item -ItemType Directory -Name $_ }.
- Используйте параметр -Force, чтобы избежать ошибок при существующих каталогах или при создании вложенных папок.
- Проверяйте права доступа к диску перед созданием каталогов в системных или сетевых директориях.
Переименование и удаление каталогов в PowerShell

Для переименования папок используется команда Rename-Item. Укажите текущий путь каталога и новое имя. Пример: Rename-Item -Path «C:\Users\Admin\OldFolder» -NewName «NewFolder» изменит имя папки с «OldFolder» на «NewFolder».
Удаление каталогов выполняется командой Remove-Item. Для удаления пустой папки достаточно указать путь: Remove-Item «C:\Users\Admin\OldFolder». Для удаления каталога с содержимым добавьте параметр -Recurse: Remove-Item «D:\Projects\2025» -Recurse.
Рекомендации при работе с переименованием и удалением:
- Перед удалением каталогов с данными используйте Get-ChildItem для проверки содержимого.
- При массовом переименовании удобно применять цикл ForEach-Object с массивом имён.
- Используйте параметр -Force, чтобы обходить ограничения на системные или скрытые папки.
- Обратите внимание на права доступа: команды не выполнятся без соответствующих разрешений.
Переход в родительский каталог с помощью команды cd.

Для перехода на уровень выше в структуре каталогов используется команда cd ... Она перемещает текущую директорию на один уровень вверх относительно текущего пути.
Примеры применения:
- Если текущий каталог C:\Users\Admin\Documents\Projects, команда cd .. перенесёт вас в C:\Users\Admin\Documents.
- Для подъёма на несколько уровней используйте последовательность ..\..\. Например, cd ..\..\ из C:\Users\Admin\Documents\Projects\2025 переместит в C:\Users\Admin\Documents.
- Комбинирование с абсолютными путями: cd C:\Users\Admin\Documents\..\Desktop приведёт напрямую в папку Desktop на том же уровне.
Рекомендации:
- Используйте Get-Location для проверки текущего пути перед перемещением.
- При работе с длинными вложенными структурами удобно сохранять путь в переменной и возвращаться к нему командой cd $path.
- Для скриптов и автоматизации комбинируйте относительные и абсолютные пути, чтобы минимизировать ошибки перехода между каталогами.
Сохранение текущего пути и возврат к нему

В PowerShell можно сохранять текущую директорию в переменную для последующего быстрого возврата. Это удобно при работе с несколькими дисками или вложенными каталогами.
Пример сохранения пути:
- $currentPath = Get-Location – сохраняет текущий каталог в переменную $currentPath.
- Set-Location D:\Projects – смена диска и переход в новый каталог.
- Set-Location $currentPath – возвращение в ранее сохранённый каталог.
Для наглядного представления операций можно использовать таблицу:
| Действие | Команда | Результат |
|---|---|---|
| Сохранение текущего пути | $currentPath = Get-Location | Переменная $currentPath хранит полный путь текущего каталога |
| Переход на другой диск | Set-Location D:\Projects | Текущий каталог меняется на D:\Projects |
| Возврат к сохранённому пути | Set-Location $currentPath | Возврат в каталог, который был сохранён в переменной |
Рекомендации:
- Используйте переменные для сохранения путей при сложных скриптах с многократными переходами.
- Для нескольких сохранённых путей создавайте массивы или словари: $paths = @($path1, $path2) и обращайтесь по индексу.
- Перед возвратом проверяйте существование каталога с Test-Path, чтобы избежать ошибок при удалении или перемещении папки.
Работа с UNC-путями и сетевыми дисками
UNC-путь (Universal Naming Convention) позволяет обращаться к сетевым ресурсам без подключения их как дисков. Формат: \\Сервер\Папка. В PowerShell команды Set-Location, Get-ChildItem и New-Item работают с UNC-путями так же, как с локальными каталогами.
Примеры работы с UNC-путями:
- Set-Location \\Server\Shared\Projects – переход к сетевой папке Projects.
- Get-ChildItem \\Server\Shared\Documents – просмотр файлов и подпапок на сетевом ресурсе.
- New-Item -ItemType Directory -Path \\Server\Shared\Projects\2025 – создание папки на сетевом диске.
Подключение сетевого ресурса как диска удобно для повторного использования:
- New-PSDrive -Name Z -PSProvider FileSystem -Root \\Server\Shared – создаёт логический диск Z с доступом к сетевому ресурсу.
- Set-Location Z:\Projects – переход к каталогу через смонтированный диск.
- Для отключения используйте Remove-PSDrive Z.
Рекомендации:
- Используйте Test-Path перед работой с UNC-путями, чтобы проверить доступность сетевого ресурса.
- При работе с учётными данными можно использовать параметр -Credential в New-PSDrive для доступа к защищённым папкам.
- Сохраняйте смонтированные сетевые диски в скриптах для упрощения навигации между локальными и сетевыми каталогами.
Вопрос-ответ:
Как в PowerShell сменить диск на другой, не потеряв текущую директорию?
Для перехода на другой диск используйте команду Set-Location или сокращение cd, указав букву диска и двоеточие, например: cd D:. PowerShell запоминает текущий каталог каждого диска, поэтому при возвращении на диск C: с помощью cd C: вы попадёте в тот каталог, где находились до переключения.
В чем разница между относительными и абсолютными путями в PowerShell?
Абсолютный путь указывает точное расположение каталога или файла, начиная с корня диска, например: C:\Users\Admin\Documents\Project. Относительный путь задаётся относительно текущего каталога. Например, если вы находитесь в C:\Users\Admin\Documents, команда cd ..\Projects перенесёт вас в C:\Users\Admin\Projects. Абсолютные пути полезны для скриптов с фиксированными адресами, а относительные ускоряют перемещения между соседними папками.
Как создать новую папку на диске через PowerShell?
Для создания каталогов используйте команду New-Item -ItemType Directory. Пример: New-Item -ItemType Directory -Path «D:\Projects» -Name «2025» создаст папку «2025» в каталоге D:\Projects. Чтобы создать несколько папок одновременно, можно использовать массив имён и цикл ForEach-Object: @(«Project1″,»Project2») | ForEach-Object { New-Item -ItemType Directory -Name $_ }. Параметр -Force позволяет создавать папки, включая все отсутствующие промежуточные директории.
Как работать с сетевыми каталогами через UNC-пути в PowerShell?
UNC-путь задаёт доступ к сетевому ресурсу без подключения его как диск, формат: \\Сервер\Папка. Команды Set-Location, Get-ChildItem и New-Item работают с UNC-путями как с локальными каталогами. Для удобства сетевой ресурс можно подключить как логический диск: New-PSDrive -Name Z -PSProvider FileSystem -Root \\Server\Shared, затем переходить в папки через Set-Location Z:\Projects. Для закрытия диска используйте Remove-PSDrive Z. Перед работой проверяйте доступность папки командой Test-Path.
