Как открыть папку через powershell
Работа с файлами и папками
Просмотр содержимого дисков Windows PowerShell и управление хранящимися на них элементами аналогично управлению файлами и папками на физических дисках Windows. В этой статье описывается выполнение конкретных задач по управлению файлами и папками с помощью PowerShell.
Получение списка файлов и папок, содержащихся в папке
Следующая команда находит все исполняемые файлы в папке Program Files, которые были в последний раз изменены после 1 октября 2005 г. и размер которых не менее одного мегабайта и не более десяти мегабайт:
Копирование файлов и папок
Если целевой файл уже существует, то попытка копирования завершается неудачей. Чтобы перезаписать имеющийся целевой файл, используйте параметр Force.
Эта команда работает, даже если целевой объект доступен только для чтения.
Так же выполняется и копирование папок. Эта команда копирует папку C:\temp\test1 в новую папку C:\temp\DeleteMe рекурсивно.
Для копирования элементов файловой системы можно использовать и другие средства. В Windows PowerShell по-прежнему работают команды XCOPY, ROBOCOPY и такие COM-объекты, как Scripting.FileSystemObject. Например, можно воспользоваться COM-классом Scripting.FileSystem сервера сценариев Windows для создания резервной копии файла C:\boot.ini в файле C:\boot.bak :
Создание файлов и папок
Создание новых элементов осуществляется одинаковым образом всеми поставщиками Windows PowerShell. Если поставщик Windows PowerShell поддерживает более одного типа элементов (например, поставщик Windows PowerShell FileSystem различает каталоги и файлы), необходимо указать тип элемента.
Эта команда создает папку C:\temp\New Folder :
Удаление всех файлов и папок, содержащихся в папке
Если подтверждение для каждого вложенного элемента нежелательно, задайте параметр Recurse:
Подключение локальной папки как диска
Чтение текстового файла в массив
Одним из наиболее общих форматов хранения текстовых данных является файл, отдельные строки которого рассматриваются как отдельные элементы. Командлет Get-Content используется для чтения всего файла за один шаг, как показано далее:
Командлет Get-Content сразу рассматривает данные, считанные из файла, как массив с одним элементом на строку содержимого файла. Убедиться в этом можно, проверив свойство Length полученного содержимого:
Как открыть файл или папку с помощью командной строки или PowerShell
Благодаря графическому пользовательскому интерфейсу Windows 10 пользователи могут делать что угодно, просто щелкая значок. Без графического интерфейса мы были бы вынуждены делать все из командной строки в PowerShell или командной строке.
Однако обучение работе с командной строкой — полезный навык, поскольку он дает вам быстрый доступ к функциям и операциям. Например, в некоторых ситуациях при работе с командной строкой или PowerShell вам нужно открывать папки или файлы. Вам не нужно выходить из окна только для того, чтобы найти папку или файл.
Открывайте папки и файлы с помощью командной строки и PowerShell
В этом руководстве я покажу вам, как открывать папки прямо из командной строки и PowerShell на вашем ПК с Windows 10.
В сообщении не забудьте заменить с вашим именем пользователя.
1]Как перейти к папке с помощью командной строки и PowerShell
Откройте командную строку, выполнив поиск cmd в меню «Пуск» и выбрав «Командная строка». Для PowerShell вы также можете найти его и открыть из меню «Пуск».
Введите следующую команду и нажмите ENTER, чтобы запустить ее:
ПРИМЕЧАНИЕ: В приведенной выше команде замените Путь К Папке с фактическим путем к папке, которую вы хотите открыть. Итак, это может стать:
Чтобы открыть файл, сохраненный в этой папке, введите имя файла и нажмите ENTER. Пример,
Кроме того, вы можете ввести полный путь к файлу, не используя CD команда. Например,
2]Как открыть папку с помощью командной строки и PowerShell
Первый способ — открыть файл, сохраненный в папке. Однако, если вы хотите открыть папку в проводнике с помощью командной строки или PowerShell, вы воспользуетесь Начните команда.
Командная строка
Чтобы открыть папку, добавьте путь к папке после Начните команда. Например, я могу перейти к Новая папка папку, используя следующую команду:
Если вы хотите открыть текущую папку, запустите Начните команда с точкой (.):
Чтобы открыть родительскую папку для текущей папки, используйте две точки полной остановки (..):
При нажатии ENTER указанная папка откроется в окне проводника.
PowerShell
Чтобы открыть папку в проводнике с помощью PowerShell, введите любой из следующих командлетов:
и добавьте путь к папке.
Чтобы открыть текущий каталог, используйте следующую команду:
3]Как закрыть файл с помощью командной строки и PowerShell
Чтобы закрыть уже открытый файл с помощью командной строки, вы используете команду taskkill. Сначала перейдите в папку, используя первый метод:
Когда вы находитесь в правильном каталоге, введите следующую команду:
В приведенной выше команде замените имя файла часть с именем файла, который вы хотите закрыть.
Обратите внимание, что эта команда закрывает каждый момент открытого файла, и вы рискуете потерять несохраненные данные.
Надеюсь, этот пост окажется для вас полезным.
Можно ли открыть окно проводника Windows из PowerShell?
Я уверен, что это возможно, но я не могу понять, как это сделать.
Есть какие-нибудь подсказки?
Это одна из самых распространенных вещей, которые я печатаю в командной строке PowerShell.
У вас есть несколько вариантов:
Используйте любой из них:
Вы можете применить любую из этих команд в PowerShell.
На всякий случай, если вы хотите открыть проводник из командной строки, последние две команды не работают, а первые три работают нормально.
Просто используйте Invoke-Item командлет. Например, если вы хотите открыть окно проводника в текущем каталоге, вы можете сделать:
Я столкнулся с этим вопросом в поисках способа открыть окно проводника в PowerShell, а также выбрать файл. Я добавляю этот ответ на случай, если другие столкнутся с ним по той же причине.
Чтобы запустить Explorer и выбрать файл, используйте Invoke-Expression :
Возможно, есть и другие способы сделать это, но у меня это сработало.
Надеюсь это поможет
Простая однострочная команда
Я хотел написать это как комментарий, но у меня нет 50 репутации.
Все ответы в этой теме в основном должны использовать Invoke-Item или напрямую использовать explorer.exe; однако, это не полностью синонимично с «открытием, содержащим папку», так что с точки зрения открытия окна Проводника, как говорится в вопросе, если мы хотим применить ответ к определенному файлу, на этот вопрос все еще действительно нет ответа.
^ эти две команды приведут к тому, что Notepad.exe или Firefox.exe будут вызваны для этих двух файлов соответственно, а не для окна explorer.exe в C: \ Users \ Foo \ (содержащий каталог).
Принимая во внимание, что если кто-то запускал эту команду из powershell, это не составило бы большого труда (в любом случае это было бы меньше ввода), если кто-то создает сценарии и ему нужно «открыть папку с переменной» для переменной, это становится вопросом соответствия строк для извлечения каталога из полный путь к файлу.
Нет ли такой простой команды «Открыть-содержащую-папку», которая могла бы заменить переменную?
Управляем сетевыми папками с помощью PowerShell
Публикуем вторую часть перевода статьи File Server Management with Windows PowerShell. В первой части мы рассматривали как с помощью PowerShell строить отчеты о сетевых папках.
На этот раз в зоне нашего внимания находятся такие вопросы как создание сетевой папки, делегирование прав доступа к ней и прекращение совместного доступа.
Создаем новые папки
Теперь давайте взглянем на то, как можно использовать PowerShell для создания файлов и папок и управления ими. Все, что я продемонстрирую, Вы можете использовать в PS 2.0 и 3.0 (хотя в PS 3.0 приводимые мною примеры можно упростить). Управление файловым сервером в PowerShell 2.0 требует обращения к WMI и написанию сложных скриптов. В PowerShell 3.0, особенно если у вас Windows Server 2012, этот тип управления значительно упрощен. Именно его я и собираюсь рассмотреть.
Все, что нам необходимо, уже имеется в модуле SMBShare, который по умолчанию установлен на моей машине Windows 8. Команды в этом модуле позволят нам локально и удаленно управлять папками. Я не собираюсь останавливаться на каждой команде подробно – они довольно однотипны; рекомендую прочитать справку и примеры. Мы же начнем с использования команды New-SMBShare, чтобы создать новую папку.
Сделать это нужно за пару шагов. Так как папка должна быть на удаленном сервере, я установлю удаленную сессию PowerShell:
Я, конечно, могу использовать интерактивную сессию, однако передо нами стоит задача автоматизации, так что использую команду Invoke-Command. Для начала я создам новую папку:
А сейчас сложная часть. Я хочу установить такие NTFS разрешения, чтобы JDHLAB\Domain Users имела разрешения на изменения (Change). Для этого необходимо создать новое правило доступа, изменяющего список правил доступа и заново применяющих их к папке. В примере 6 приведен пример скрипта:
Пример 6: Создание, изменение и применение правила доступа
В примере 6 я сделал так, чтобы параметр пути можно было заново использовать.
Существует способы упростить этот процесс, но для целей ясности мы сохраним все так как есть. Сейчас мы готовы создать новую папку.
Я могу использовать эту сессию, но я хочу продемонстрировать, как можно использовать команду New-SmbShare, чтобы удаленно подключиться к файловому серверу:
Право доступа к папке по умолчанию стоит “Только чтение” (ReadOnly). Я выдал доменным админам Полный контроль (Full Control) на папку, и всем остальным выдал права на изменение (Change). Этот путь относителен к удаленному компьютеру, который должен работать под PS 3.0.
Расширенные настройки папки
Получить информацию о папке можно в любое время, использовав команду Get-SMBShare, как вы можете видеть на рисунке 9. Можно сделать еще парочку вещей с нашими папками, например, зашифровать SMB соединение, какой режим перечисления (enumeration mode) и тип кеширования использовать для папки. Я собираюсь использовать Set-SMBShare, чтоб осуществить гибкую настройку для только что созданной папки. Посмотрим это на примере 7.
Пример 7: Гибкая настройка папки
Указанное выше применяется к одной единственной папке, но вы с легкостью можете использовать Get-SMBShare для извлечение всех папок и их последующей передачи в Set-SMBShare и применения изменений к ним всем:
Эта команда извлечет все папки (кроме административных папок) на компьютере SRV2K12RC и установим свойство EncryptData в значении True. Мне не хочется подтверждать каждое действие, поэтому переключатель Confirm установлен в значение False. Set-SMBshare не запишет ничего в конвейер, в том случае если вы не используете –Passthru. Как видите, я смог изменить все с помощью одной единственной команды.
Удаление сетевых папок
Напоследок удалим сетевую папку. Код в примере 8 полностью отключает совместный доступ к папке, которую я только что создал. Можно ли это сделать проще? Конечно, структура папок до сих пор на файловом сервере.
Пример 8: Удаляем сетевую папку
Сводим воедино
А теперь давайте сведем все в одном скрипте. Не вдаваясь с детали кода, отмечу, что команды могут быть запущены параллельно. Например, после создания папки, создаю сетевую папку и устанавливаю NTFS разрешения в то же время, см. пример 9.
Пример 9: Создаем сетевую папку и устанавливаем NTFS разрешения
Этот скрипт создает новую сетевую папку, присваивает разрешения пользователю или группе. Я могу запустить ее из-под Windows 8 или на файловом сервере Windows Server 2012, использовав следующую команду (которая должна быть введена в одну строчку):
Процесс займет пару секунд. Результаты на скриншоте ниже.
Нет ничего плохого в том, чтобы использовать обыкновенный графический интерфейс для того же самого. Однако если Вам нужны специализированные отчеты или же вы желаете автоматизировать этот процесс, PowerShell подойдет как нельзя лучше.
Работа с файлами, папками и разделами реестра
Windows PowerShell использует существительное Item, чтобы ссылаться на элементы, найденные на диске Windows PowerShell. При работе с поставщиком FileSystem Windows PowerShell Item может быть файлом, папкой или диском Windows PowerShell. Создание списков элементов и работа с ними является критически важной задачей в большинстве административных учреждений, поэтому необходимо подробно обсудить ее.
Перечисление файлов, папок и разделов реестра (Get-ChildItem)
Так как получение коллекции элементов из определенного расположения является обычной задачей, командлет Get-ChildItem предназначен специально для возврата всех элементов, найденных в контейнере, например в папке.
Если необходимо вернуть все файлы и папки, которые находятся непосредственно в папке C:\Windows, введите:
Списки выглядят аналогично тем спискам, которые появляются при вводе команды dir в Cmd.exe или команды ls в командной оболочке UNIX.
С помощью параметров командлета Get-ChildItem можно создавать очень сложные списки. Далее рассмотрим несколько сценариев. Синтаксис командлета Get-ChildItem можно увидеть, введя следующее.
Эти параметры можно скомбинировать и сопоставить для получения настраиваемых выходных данных.
Перечисление всех элементов в контейнере (-Recurse)
Фильтрация элементов по имени (-Name)
Принудительное перечисление скрытых элементов (-Force)
Сопоставление имен элементов с подстановочными знаками
Команда Get-ChildItem принимает подстановочные знаки в пути к элементам списка.
Так как сопоставление с подстановочными знаками обрабатывается подсистемой Windows PowerShell, все командлеты, которые принимают подстановочные знаки, используют одну нотацию и имеют одно поведение сопоставления. В нотацию подстановочных знаков Windows PowerShell входит:
Звездочка ( * ) соответствует нулю или большему количеству вхождений любого символа.
Открывающая квадратная скобка ( [ ) и закрывающая квадратная скобка ( ] ) заключают в себя набор символов для сопоставления.
Далее приводится несколько примеров работы спецификации из подстановочных знаков.
Чтобы найти все файлы с именами, начинающимися на x или z, введите следующее.
Дополнительные сведения о подстановочных знаках см. в разделе about_Wildcards.
Исключение элементов (-Exclude)
Например, вы пытаетесь найти библиотеку службы времени Windows в папке System32 и все, что вам известно об имени библиотеки, — то, что оно начинается с W и содержит 32.
Смешение параметров Get-ChildItem
Результаты отсутствуют, даже если существуют две библиотеки, которые начинаются на букву z в папке Windows.
Чтобы указать рекурсивный поиск для файлов, имена которых соответствуют специальному шаблону, используйте параметр Include.


