Как перейти в папку в powershell
Перейти к содержимому

Как перейти в папку в powershell

Работа с файлами и папками

Навигация по дискам PowerShell и управление элементами на них аналогична обработке файлов и папок на дисках Windows. В этой статье описывается выполнение конкретных задач по управлению файлами и папками с помощью PowerShell.

Перечисление всех файлов и папок в папке

Все элементы можно получить непосредственно в папке с помощью Get-ChildItem . Для отображения скрытых и системных элементов добавьте необязательный параметр Force. Например, эта команда отображает прямое содержимое диска C: PowerShell.

Get-ChildItem -Path C:\ -Force 

Команда перечисляет только непосредственно содержащиеся элементы, например команду dir в cmd.exe оболочке UNIX или ls в ней. Чтобы отобразить элементы в вложенной папке, необходимо указать параметр Recurse . Следующая команда выводит список всех элементов на C: диске:

Get-ChildItem -Path C:\ -Force -Recurse 

Командлет Get-ChildItem позволяет отфильтровать элементы с помощью параметров Path, Filter, Include и Exclude, но обычно осуществляется лишь фильтрация по имени. Вы можете выполнять сложную фильтрацию на основе других свойств элементов с помощью Where-Object .

Следующая команда находит все исполняемые файлы в папке Program Files, которые были изменены после 1 октября 2005 года, и они не меньше 1 мегабайт или больше 10 мегабайт:

Get-ChildItem -Path $env:ProgramFiles -Recurse -Include *.exe | Where-Object -FilterScript

Копирование файлов и папок

Копирование выполняется с помощью командлета Copy-Item . Следующая команда создает резервную копию скрипта профиля PowerShell:

if (Test-Path -Path $PROFILE)

Команда Test-Path проверка, существует ли скрипт профиля.

Если целевой файл уже существует, то попытка копирования завершается неудачей. Чтобы перезаписать имеющийся целевой файл, используйте параметр Force.

if (Test-Path -Path $PROFILE)

Эта команда работает, даже если целевой объект доступен только для чтения.

Так же выполняется и копирование папок. Эта команда копирует папку C:\temp\test1 в новую папку C:\temp\DeleteMe рекурсивно.

Copy-Item C:\temp\test1 -Recurse C:\temp\DeleteMe 

Можно также скопировать избранные элементы. Следующая команда копирует все .txt файлы, содержащиеся в любом месте в C:\data C:\temp\text :

Copy-Item -Filter *.txt -Path c:\data -Recurse -Destination C:\temp\text 

Вы по-прежнему можете выполнять собственные команды, такие как xcopy.exe и robocopy.exe копировать файлы.

Создание файлов и папок

Создание новых элементов работает одинаково для всех поставщиков PowerShell. Если поставщик PowerShell имеет несколько типов элементов, например поставщик FileSystem PowerShell различает каталоги и файлы, необходимо указать тип элемента.

Эта команда создает папку C:\temp\New Folder :

New-Item -Path 'C:\temp\New Folder' -ItemType Directory 

Эта команда создает пустой файл C:\temp\New Folder\file.txt .

New-Item -Path 'C:\temp\New Folder\file.txt' -ItemType File 

При использовании параметра Force с командой New-Item для создания папки, которая уже существует, она не перезапишет и не заменит папку. Будет просто возвращен имеющийся объект папки. Однако если вы используете New-Item -Force файл, который уже существует, файл перезаписывается.

Удаление всех файлов и папок в папке

Удалить вложенные элементы можно с помощью командлета Remove-Item , однако он потребует подтверждения удаления, если элемент сам что-нибудь содержит. Например, если вы попытаелись удалить папку C:\temp\DeleteMe , содержащую другие элементы, PowerShell запрашивает подтверждение перед удалением папки:

Remove-Item -Path C:\temp\DeleteMe 
Confirm The item at C:\temp\DeleteMe has children and the Recurse parameter wasn't specified. If you continue, all children will be removed with the item. Are you sure you want to continue? [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): 

Если вам не нужно запрашивать каждый содержащийся элемент, укажите параметр Recurse :

Remove-Item -Path C:\temp\DeleteMe -Recurse 

Сопоставление локальной папки как диска

Отобразить локальную папку можно с помощью команды New-PSDrive . Следующая команда создает локальный диск P: , корневым каталогом которого является локальный каталог Program Files, отображающийся только в сеансе PowerShell:

New-PSDrive -Name P -Root $env:ProgramFiles -PSProvider FileSystem 

Как и при использовании сетевых дисков, диски, сопоставленные в PowerShell, сразу же видны оболочке PowerShell. Чтобы создать сопоставленный диск, видимый из проводник, используйте параметр «Сохранить«. Однако с сохранением можно использовать только удаленные пути.

Чтение текстового файла в массив

Одним из наиболее общих форматов хранения текстовых данных является файл, отдельные строки которого рассматриваются как отдельные элементы. Командлет Get-Content используется для чтения всего файла за один шаг, как показано далее:

Get-Content -Path $PROFILE # Load modules and change to the PowerShell-Docs repository folder Import-Module posh-git Set-Location C:\Git\PowerShell-Docs 

Get-Content обрабатывает данные, считанные из файла как массив, с одним элементом на строку содержимого файла. Убедиться в этом можно, проверив свойство Length полученного содержимого:

PS> (Get-Content -Path $PROFILE).Length 3 

Эта команда наиболее полезна для получения списков сведений в PowerShell. Например, можно сохранить список имен компьютеров или IP-адресов в файле C:\temp\domainMembers.txt с одним именем в каждой строке файла. Вы можете использовать командлет Get-Content , чтобы извлечь содержимое файла и поместить его в переменную $Computers :

$Computers = Get-Content -Path C:\temp\DomainMembers.txt 

Теперь переменная $Computers представляет собой массив, содержащий в каждом элементе имя компьютера.

Совместная работа с нами на GitHub

Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.

PowerShell is an open source project. Select a link to provide feedback:

Обратная связь

Отправить и просмотреть отзыв по

Как перейти в папку в powershell

Итак, с командой pwd мы уже познакомились в первом уроке. А сейчас изучим еще несколько команд для оболочки командной строки Windows PowerShell.

Открываем Windows PowerShell и вводим следующую команду: cd desktop

PS С:\Users\Boris1985>cd desktop

Эта команда говорит компьютеру: перейди в каталог (в папку) desktop. То есть в «Рабочий стол» (по-русски).

Чтобы убедиться, что мы находимся в папке «Рабочий стол», нам надо ввести уже известную нам команду pwd :

PS С:\Users\Boris1985\desktop>pwd

Результат ввода этой команды:

Path
С:\Users\Boris1985\desktop
PS С:\Users\Boris1985\desktop> _

Теперь вводим команду mkdir 1 . Эта команда говорит компьютеру: создай в текущем каталоге папку (каталог) с именем 1.

Результат будет такой:

Mode LastWriteTime Length Name
d—- 12.03.2019 12:23 1

PS С:\Users\Boris1985\desktop> _

То есть компьютер создал в папке desktop новую папку 1 и сообщил об этом нам.

Чтобы убедиться, что так все и произошло, сверните все окна и посмотрите на рабочем столе – появилась папка 1 или нет. Должна появиться!

Теперь давайте создадим несколько вложенных одна в другую папок.

PS С:\Users\Boris1985\desktop> mkdir 1/2/3/4

Посмотрите на Рабочем столе внутри папки 1 – есть ли в ней вложенные папки 2, 3 и 4?

Теперь давайте перейдем сразу в 4-ю папку.

PS С:\Users\Boris1985\desktop> cd 1/2/3/4

Проверьте с помощью команды pwd , где вы находитесь.

А теперь перейдем на один уровень вверх. Для этого введем команду cd..

PS С:\Users\Boris1985\desktop\1\2\3\4>cd..

И опять проверьте каталог, где вы сейчас находитесь – командой pwd . Вы сейчас должны находиться папке 3. Точно также пройдите выше по папкам — до папки desktop. Для этого вводим:

PS С:\Users\Boris1985\desktop\1\2\3>cd..
PS С:\Users\Boris1985\desktop\1\2>cd..
PS С:\Users\Boris1985\desktop\1>cd..

Домашнее задание

  • напечатайте в Windows PowerShell по 10 раз команды: cd, pwd, cd.. и mkdir
  • проверьте — появились ли на рабочем столе созданные вами папки?

В следующем уроке мы научимся в окне Windows PowerShell создавать новый файл, а также удалять и просматривать содержимое папки — перейти в следующий урок.

  • Вы здесь:
  • Главная
  • Python 2.7 с нуля
  • Урок 2. Первые команды в Windows PowerShell

Отличия PowerShell от CMD: что использовать в работе

Рассказали о ключевых отличиях между интерпретаторами командной строки в Windows.

Изображение записи

Интерпретатор командной строки (Command Line Interpreter, или CMD) и PowerShell — это приложения, используемые для прямого взаимодействия с операционной системой Windows. На первый взгляд у них много общего, но в этом тексте мы сконцентрируемся на ключевых отличиях командной строки CMD и PowerShell.

Что из себя представляет командная строка Windows?

Интерпретатор командной строки (более распространенное название — командная строка Windows) — это командная оболочка, которая появилась впервые в MS-DOS 1980-х годов. Она позволяла пользователю взаимодействовать с операционной системой (ОС) напрямую.

Так, данная командная оболочка предоставляет среду для запуска приложений и различных утилит — выходные данные отображаются в том же окне. Командную строку можно использовать для создания и редактирования сценариев и сохранения их в пакетных файлах, для решения задач автоматизации в рамках одной системы.

Как открыть командную строку CMD

Прежде чем проводить сравнение Windows PowerShell и CMD, хорошо бы понять, где их найти и как с ними взаимодействовать.

Существует несколько способов открыть интерфейс командной строки. Классический метод — через поисковую строку, введя в ней слова cmd или командная строка.

Для большинства этот способ быстрее и удобнее, но существует и другая возможность получить доступ к cmd.exe:

  1. Комбинацией клавиш win+r открыть меню выполнения.
  2. Ввести в открывшееся меню команду cmd.

Также можно вручную открыть cmd.exe из его исходного местоположения: C:\Windows\system32\cmd.exe.

Для взаимодействия с ОС в командной строке нужно ввести команду и ее параметр.

Например, чтобы проверить соединение с удаленным хостом вводим:

ping -r google.com

Где ping — команда, -r — параметр команды, google.com — адрес удаленного хоста.

После этого командная строка выполняет введенную команду и реализует задачу или функцию, для которой она предназначена в Windows.

Команды должны быть введены в Command Prompt без ошибок. Неправильный синтаксис или написание могут привести к сбою команды или, что еще хуже, к выполнению неправильной команды или правильной команды неправильным способом. Если ввести команду без параметров, вы увидите подсказку с возможными параметрами:

Вывод подсказки в командной строке

Теперь мы можем перейти к PowerShell.

Что такое PowerShell Windows

PowerShell — это более продвинутая версия CMD. Кросс-платформенное решение для автоматизации задач, состоящее из оболочки командной строки, языка сценариев и структуры управления конфигурацией.

Ключевым отличием от CMD, заметным на старте работы, являются командлеты — упрощенные команды, используемые в среде PowerShell. Назначение команды PowerShell довольно легко интерпретировать по названию: они следуют простой закономерности — за глаголом идет существительное.

  • Команда CMD: ping
  • Командлет PowerShell: Test-Connection

Командлеты помогают управлять инфраструктурой Windows. Кроме того, они позволяют обычному пользователю получить удаленный доступ к реестру, файловой системе и пространству Windows Management Instrumentation (WMI) на системах.

Как современная командная оболочка PowerShell включает в себя лучшие функции других популярных оболочек. В отличие от большинства оболочек, которые принимают и возвращают только текст, PowerShell принимает и возвращает объекты .NET. Это программная платформа, в которой исполняются программы. Таким образом, нет необходимости разбирать текст для извлечения информации из выходных данных.

Как язык сценариев PowerShell обычно используется для автоматизации управления системами, позволяет создавать сложные сценарии с множеством условий. Он также используется для сборки, тестирования и развертывания решений, часто в средах CI/CD.

Открыть shell, как и командную строку, можно через поисковую строку и через меню выполнения, вписав в обоих случаях PowerShell. Также, в зависимости от версии операционной системы его можно найти в Power User Menu. Открывается оно комбинацией клавиш win+x или нажатием правой кнопки мыши на значок Windows.

Зачем PowerShell обычному пользователю

Разница PowerShell и CMD заключается в их использовании. Последний используется в основном для выполнения пакетных команд, устранения некоторых первичных неполадок. PowerShell, в свою очередь, может использоваться как для выполнения пакетных команд, так и для административных целей.

Важной является возможность создания сценариев (скриптов) — текстовых файлов, содержащих всего одну или целый набор команд PowerShell.

В качестве примера создадим простой выводящий текст сценарий, который состоит из одной команды:

  1. Создаем файл сценария (с расширением ps1), в котором будут прописаны команды:

Файл сценария

2. В окне PowerShell вводим & и путь к необходимому файлу:

Окно PowerShell для ввода данных

Теперь давайте разберем, как выполнять простое взаимодействие с системой при помощи CMD и PowerShell.

Как получить помощь?

Первым делом необходимо узнать, какие команды вообще существуют. Это можно узнать, запросив помощь у самого приложения.

В командной строке Windows используется команда help, чтобы отобразить список доступных команд.

В PowerShell, чтобы выполнить такое же действие используется команда Get-help.

Используйте PowerShell в работе с выделенным сервером

Соберите сервер в конфигураторе под свои задачи. Или выберите из более 100 готовых.

Как изменить каталог?

Для изменения каталога (папки) в командной строке применяется команда Change Directory (cd). Эта команда позволяет перейти в другую папку с компьютера (изменить текущий каталог).

В PowerShell команда cd является псевдонимом для командлета Set-Location-Path , выполняющего идентичную функцию.

Первая итерация команды CD, которую полезно знать, это CD\. Она переводит вас на вершину файловой иерархической структуры (дерева каталогов).

Для перехода в нужную папку с диска, выполните команду CD «название папки». Вложенные папки должны быть разделены символом бэкслэша: \. Например, если необходимо перейти в папку user, находящуюся в C:\users нужно ввести команду cd users\user. Используя команду cd .., можно вернуться на один каталог вверх.

Чтобы изменить диск, нужно ввести его название с двоеточием. Например, d:, чтобы переключиться на диск D. В PowerShell используется командлет set-location d:.

От каталогов перейдем к хранящимся в них файлам.

Как перечислить файлы в каталоге?

Команда dir (Directory) используется, чтобы перечислить файлы в каталоге через командную строку.

Отличие PowerShell – в используемой для перечисления файлов команде. Чтобы перечислить файлы в каталоге, используется команда Get-ChildItem.

Как переименовать файл?

Чтобы переименовать файл в каталоге, в cmd используется команда ren (rename). После нее сначала вводится имя файла, которое вы хотите заменить, затем вводится желаемое имя. Например, ren dir1 dir2.

В Windows PowerShell используется команда Rename-Item для переименования папки путем передачи пути к переименовываемой папке и целевого имени. Например, C:\Windows\dir1 dir2.

Далее разберем важные утилиты, которые могут пригодиться при взаимодействии с системой, а также их отличия в CMD и PowerShell.

Ключевые отличия команд PowerShell от CMD

Завершим знакомство обычного пользователя с PowerShell и CMD сравнением команд и командлетов. Остановимся на нескольких примерах.

  • Ping: как мы писали ранее, аналогом cmd-команды ping является командлет Test-Connection в PowerShell.

Вывод командлета Test-Connection

Альтернативная команда в CMD

  • Tracert: в PowerShell для определения маршрута следования данных в сети используется Test-NetConnection -TraceRoute.

Вывод командлета в PowerShell

Команда для определения маршрута следования данных в сети

  • IPConfig: Get-NetIPConfiguration в PowerShell – эквивалент IPConfig.

Альтернативная команда в PowerShell

IPConfig в командной строке

  • Nslookup: Команда Resolve-DnsName выполняет DNS-запрос для указанного имени. Эта команда функционально аналогична инструменту nslookup, который позволяет пользователям запрашивать имена.

Команда Resolve-DnsName выполняет DNS-запрос для указанного имени

Инструмент nslookup позволяет пользователям запрашивать имена

  • Netstat: Get-NetRoute в PowerShell получает текущие TCP-соединения.

Вывод Get-NetRoute

Вывод команды netstat

  • Route: Команда Get-NetRoute является аналогом route и получает информацию о маршруте IP из таблицы маршрутизации IP.

Вывод Get-NetRoute в PowerShell

Вывод route в CMD

  • Netsh: Netsh – служебная программа на базе командной строки, позволяющая показывать или изменять конфигурацию сети активного компьютера. Чтобы запустить ее, и в Windows Powershell, и в CMD используется одна и та же команда — netsh.

Команда netsh в PowerShell

Команда netsh в CMD

  • Gpupdate: ее аналогом является команда Invoke-GPUpdate. Она обновляет параметры групповой политики, включая параметры безопасности, установленные на удаленных компьютерах.

Командлет Invoke-GPUpdate в PowerShell

GPUpdate

  • Gpresult: Команда Get-GPResultantSetOfPolicy получает и записывает в файл информацию о результирующих политиках (RSoP) для пользователя.

Командлет Get-GPResultantSetOfPolicy в PowerShell

Вывод Gpresult в командной строке

Разница между командной строкой CMD и Windows PowerShell: что выбрать

Мы завершили обзор, которые условно можно назвать «PowerShell против CMD». Очевидно, есть много причин, по которым Windows PowerShell заменила командную строку Windows по умолчанию в ОС Windows 10. Но, если вы привыкли к CMD, вам не обязательно переходить на PowerShell.

Хотя переход не будет болезненным: в среде PowerShell большинство команд из CMD работают. Все потому, что были созданы псевдонимы командной строки в PowerShell, которые позволяют интерпретировать старые команды cmd как новые команды PowerShell.

Какой инструмент выбрать — ваш выбор. Но PowerShell – более современен. В две основные функции PowerShell встроены дополнительные возможности. И эти возможности, или сценарии использования, являются причиной растущей популярности PowerShell.

Чтобы узнать, как старые команды CMD соотносятся с новыми командами PowerShell, используйте команду Get-Alias.

Как перейти в папку в powershell

Будь в курсе последних новостей из мира гаджетов и технологий

iGuides для смартфонов Apple

Как открыть PowerShell в текущей папке

Егор

Егор Морозов — 28 августа 2017, 16:53

powershell-cim.jpg

Зачастую при использовании PowerShell его нужно открыть в определенной папке, да еще и с правами администратора. Конечно, можно его вызвать через меню Win+X и вбивать путь до папки руками, но можно сделать гораздо проще.

Для открытия PowerShell в нужной папке сначала откройте саму папку, потом нажмите слева вверху на Файл > Запустить Windows PowerShell и выберите, нужны ли ему повышенные права:

Снимок.PNG

Все, теперь PowerShell будет открыт уже с прописанным путем до этой папки, что удобно:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *