Как открыть файл в PowerShell

Обновлено: 21.11.2024

Хотите открыть файл из командной строки? Вот как вы можете открыть файл с помощью командной строки или PowerShell за несколько простых шагов.

Чтобы открыть файл в Windows, достаточно дважды щелкнуть по нему мышью. Кроме того, вы также можете выбрать его и нажать клавишу Enter на клавиатуре. Пока есть совместимая программа, файл откроется почти сразу. В подавляющем большинстве ситуаций достаточно открыть такой файл. Однако будут случаи, когда вы можете открыть файл с помощью инструментов командной строки, таких как командная строка или PowerShell.

Может возникнуть множество ситуаций, когда вам нужно открыть файлы с помощью командной строки. Например, если вы хотите запустить программу со специальными флагами, вам обычно нужно запускать ее с помощью командной строки или создать ярлык на рабочем столе со специальными флагами. Фактически, вы даже можете создавать пакетные файлы и запускать их для открытия файлов с помощью других программ, таких как планировщик задач.

Независимо от причины, если вам когда-нибудь понадобится открыть файл с помощью командной строки или PowerShell, выполните приведенные ниже действия. Перечисленные ниже шаги будут работать во всех версиях Windows.

Открыть файл с помощью командной строки

Чтобы открыть файл с помощью командной строки в Windows, выполните следующие действия.

<р>1. Откройте окно командной строки. В Windows вы можете сделать это, выполнив поиск «cmd» в меню «Пуск» или выполнив команду «Выполнить» «cmd».

<р>2. В окне командной строки выполните приведенную ниже команду, чтобы перейти в папку, в которой находится файл, который вы хотите открыть.

<р>3. Затем введите имя файла вместе с его расширением и нажмите Enter. Например, если вы хотите открыть файл JPEG, вам нужно ввести «image.jpg».

Примечание. Если в имени файла есть пробелы, введите его в кавычках (пример: «my image.jpg»).

<р>4. Чтобы открыть файл в командной строке с помощью определенной программы, используйте приведенную ниже команду.

Если программа добавлена ​​в путь Windows, вам не нужно вводить полный путь к программе. Вы можете просто ввести его следующим образом:

Открыть файл с помощью PowerShell

Чтобы открыть файл с помощью PowerShell, выполните следующие действия.

<р>1. Откройте окно PowerShell. Вы можете сделать это в Windows, выполнив поиск в меню «Пуск». Либо щелкните правой кнопкой мыши меню «Пуск» и выберите параметр «Windows PowerShell».

<р>2. Используйте приведенную ниже команду, чтобы перейти в папку, в которой находится файл, который вы хотите открыть. Этот шаг необязателен, но если вы этого не сделаете, вам придется вручную ввести полный путь к файлу, а не только имя файла.

<р>3. Как только вы окажетесь в папке, выполните приведенную ниже команду, чтобы открыть файл с помощью PowerShell. Замените фиктивное имя файла реальным именем файла и его расширением. Пока есть совместимая программа, файл будет открыт.

<р>4. Чтобы открыть файл с помощью определенной программы, выполните приведенную ниже команду. Не забудьте заменить фиктивные пути реальными путями к программам и файлам.

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

Это все. Открывать файлы с помощью командной строки или PowerShell очень просто.

Надеюсь, это поможет. Если вы застряли или вам нужна помощь, оставьте комментарий ниже, и я постараюсь помочь, насколько это возможно.

Командлет Invoke-Item выполняет действие по умолчанию для указанного элемента. Например, он запускает исполняемый файл или открывает файл документа в приложении, связанном с типом файла документа. Действие по умолчанию зависит от типа элемента и определяется поставщиком PowerShell, предоставляющим доступ к данным.

Примеры

Пример 1. Открытие файла

Эта команда открывает файл "aliasApr04.doc" в Microsoft Office Word. В этом случае открытие в Word является действием по умолчанию для файлов ".doc".

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

Эта команда открывает все электронные таблицы Microsoft Office Excel в папке C:\Documents and Settings\Lister\My Documents. Каждая электронная таблица открывается в новом экземпляре Excel. В этом случае открытие в Excel является действием по умолчанию для файлов .xls.

Параметры

Запрашивает подтверждение перед запуском командлета.

< /tr>

Этот параметр не поддерживается ни одним поставщиком, установленным вместе с PowerShell. Чтобы выдать себя за другого пользователя или повысить свои учетные данные при запуске этого командлета, используйте Invoke-Command.

Тип:SwitchParameter
Псевдонимы:cf
Позиция:Имя
Значение по умолчанию:False
Принимать ввод конвейера:False
Допускать подстановочные знаки:False
< /tr>
Тип:PSCredential
Позиция:Имя
Значение по умолчанию:Текущий пользователь
Принять ввод конвейера:Истина
Допускать подстановочные знаки:False

Указывает в виде массива строк элемент или элементы, которые этот командлет исключает из операции. Значение этого параметра определяет параметр Path. Введите элемент пути или шаблон, например *.txt . Подстановочные знаки разрешены. Параметр Exclude действует, только если команда включает содержимое элемента, например C:\Windows\* , где подстановочный знак указывает содержимое каталога C:\Windows.

Тип:Строка [ ]
Позиция:Название
Значение по умолчанию:Нет
Принять ввод конвейера:False< /td>
Допускать подстановочные знаки:True

Указывает фильтр для уточнения параметра Path. Поставщик FileSystem — это единственный установленный поставщик PowerShell, который поддерживает использование фильтров. Вы можете найти синтаксис языка фильтров файловой системы в about_Wildcards. Фильтры более эффективны, чем другие параметры, потому что поставщик применяет их, когда командлет получает объекты, вместо того, чтобы PowerShell фильтровал объекты после их извлечения.

Тип:Строка
Позиция:Именованный
Значение по умолчанию:Нет
Принять ввод конвейера:False
Допускать подстановочные знаки:True

Указывает в виде массива строк элемент или элементы, которые этот командлет включает в операцию. Значение этого параметра определяет параметр Path. Введите элемент пути или шаблон, например "*.txt" . Подстановочные знаки разрешены. Параметр Include действует, только если команда включает содержимое элемента, например C:\Windows\* , где подстановочный знак указывает содержимое каталога C:\Windows.

Тип:Строка [ ]
Позиция:Название
Значение по умолчанию:Нет
Принять ввод конвейера:False< /td>
Допускать подстановочные знаки:True

Указывает путь к одному или нескольким местоположениям. Значение LiteralPath используется точно так, как оно введено. Никакие символы не интерпретируются как подстановочные знаки. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки сообщают PowerShell, что никакие символы не следует интерпретировать как управляющие последовательности.

Тип:String [ ]
Псевдонимы:PSPath, LP
Позиция:Имя
Значение по умолчанию:Нет< /td>
Принимать ввод конвейера:True
Допускать подстановочные знаки: Ложь

Указывает путь к выбранному элементу. Подстановочные знаки разрешены.

Тип:Строка [ ]
Позиция:0
Значение по умолчанию:Нет
Принять ввод конвейера:True< /td>
Допускать подстановочные знаки:True

Показывает, что произойдет, если командлет запустится. Командлет не запущен.

< /tr>

Входные данные

Вы можете передать строку, содержащую путь к этому командлету.

Результаты

Нет

Команда не генерирует никаких выходных данных. Однако вывод может генерироваться элементом, который он вызывает.

Примечания

Этот командлет предназначен для работы с данными, предоставленными любым поставщиком. Чтобы получить список поставщиков, доступных в вашем сеансе, введите Get-PSProvider . Дополнительные сведения см. в разделе about_Providers.

Я хочу создать файл с командами Windows Powershell. Затем я хочу открыть его с помощью Windows PowerShell напрямую и без нажатия какой-либо клавиши. Я хочу, чтобы Windows PowerShell запускал эти команды напрямую так же, как командная строка. Я могу создать файл .cmd или .bat.

Например: это две команды или Powershell, я хочу сохранить этот файл. Затем я хочу напрямую выполнить этот файл с помощью powershell. Я пытался сохранить его как расширение ps1 и ps2, но не работает. Многие методы онлайн не работают. Есть решение?

Если я буду следовать вашему методу @KenWhite, я получу ошибку в командной строке. Имя моего файла Data.ps1 . Ошибка: термин «Data.ps1» не распознается как имя командлета, функции, файла сценария или исполняемой программы. Проверьте правильность написания имени или, если был указан путь, убедитесь, что путь указан правильно, и повторите попытку. В строке: 1 char:1 + Data.ps1 + ~~~~~~~~ + CategoryInfo : ObjectNotFound: (Data.ps1:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException

powershell data.ps1 будет работать нормально. Если вы получаете разные результаты, отредактируйте свой вопрос, чтобы включить именно то, что вы запускаете в командной строке. Если вы не запускаете его из командной строки, включите подробную информацию о том, как именно вы пытаетесь запустить его, включая любой код пакетного файла, если это необходимо. Ожидать, что мы прочитаем ваши мысли и выяснить, в чем проблема, не сработает.

2 ответа 2

Файлы сценариев PowerShell во всех версиях используют расширение .ps1.

Из внутри PowerShell вы можете вызывать их напрямую, например, .\script.ps1

  • Обратите внимание, что, в отличие от cmd.exe , вы должны использовать .\ (или полный путь), чтобы выполнить файл, расположенный в текущем каталоге — просто script.ps1 не будет работать — справочную информацию см. в этом ответе.

Из cmd.exe необходимо использовать интерфейс командной строки PowerShell ( powershell.exe в Windows PowerShell / pwsh в PowerShell [Core] v6+), чтобы выполнить файл сценария. :

  • powershell.exe — файл script.ps1
  • pwsh -File script.ps1 ( -File может быть опущен)

Обратите внимание, что с -File префикс .\ - не требуется.

Однако, если вместо этого вы используете -Command ( -c ) (что является по умолчанию с powershell.exe , тогда как pwsh теперь по умолчанию использует -File ), вы делаете нужен .\ , потому что аргумент(ы) -Command интерпретируются как часть кода PowerShell, т. е. как если бы вы отправили его внутри сеанса PowerShell.

Вы обнаружили это в своем собственном ответе, где вы передаете команду PowerShell напрямую параметру (подразумеваемому) -Command.

Однако обратите внимание, что такие команды лучше заключать в двойные кавычки, чтобы cmd.exe не интерпретировала определенные символы сама, что прерывает вызов.< /p>

Например, следующий вызов прервется, если вы не заключите аргумент -Command ( -c ) в "." :

Другое важное соображение заключается в том, что вам нужно экранировать встроенные символы " chars. as \" для интерфейса командной строки (даже если PowerShell-внутри вы бы использовали `" или "" ):

Синтаксис:

Hadoop, наука о данных, статистика и др.

Использование Get-Content для открытия и чтения файла.

[-ReadCount] [-TotalCount] [-Tail] [-Path]
[-Filter] [-Include] [-Exclude] [-Force] [-Credential

] [-Delimiter] [-Wait] [-Raw] [-Encoding] [-AsByteStream] [-Stream] []

[-ReadCount] [-TotalCount] [-Tail] -LiteralPath
[-Filter] [-Include] [-Exclude] [-Force] [-Credential

] [-Delimiter] [-Wait] [-Raw] [-Encoding] [-AsByteStream] [-Stream] []

Использование метода File.Open

а. Открыть(Строка, РежимФайла)

Открывает файл по указанному пути с различными режимами FileModes, описанными ниже.

б. Открыть(строка, режим файла, доступ к файлу)

Открывает файл по указанному пути с различными режимами файла и методом доступа к файлу.

<р>в. Открыть(String, FileMode, FileAccess, FileShare)

Открывает файл по указанному пути с указанным режимом файла, правами доступа к файлу и указанным параметром общего доступа.

Обучение написанию сценариев оболочки (4 курса, 1 проект) 4 онлайн-курса | 1 практический проект | 18+ часов | Поддающийся проверке сертификат об окончании | Пожизненный доступ
4,5 (7 979 оценок)

Использование класса File StreamReader.

Как работает команда открытия файла в PowerShell?

Когда мы используем метод Get-Content, мы можем прочитать файл по указанному нами пути, а когда мы читаем файл по умолчанию, команда PowerShell открывает файл и читает содержимое файла.

При использовании пространства имен System.IO с PowerShell мы можем использовать его класс File и его методы Open(), как показано в синтаксисе.

а. Открыть(Строка, РежимФайла)

Строка: это путь к файлу для открытия его содержимого.

FileMode: Ниже приведены режимы файлов, используемые файловой системой.

  • Добавить: открывает файл, если он существует, или создает новый файл. Для этого требуется добавить разрешение FileMode.Append, и его можно использовать только с FileAccess.Write.
  • Создать: указывает, что операционная система создаст новый файл и, если он существует, перезапишет файл, и его следует использовать с разрешением FileMode.Create.
  • CreateNew: указывает, что операционная система создаст новый файл и, если он существует, выдаст исключение.
  • Открыть: указывает, что операционная система откроет файл, если он существует, в противном случае будет выдано исключение.
  • OpenOrCreate: указывает, должна ли операционная система открывать файл. Если файл существует, будет открыт новый файл, в противном случае будет создан новый файл.
  • Truncate: указывает, что операционная система должна открыть существующий файл. Когда файл усекается, так что его размер должен быть равен нулю байтов.

б. Открыть(строка, режим файла, доступ к файлу)

Строка: путь к открываемому файлу.

FileMode: как описано в предыдущем синтаксисе.

FileAccess: Ниже приведены методы FileAccess.

  • Чтение: доступ для чтения к файлу. Данные можно прочитать из файла.
  • ReadWrite: доступ для чтения и записи к файлу. Данные можно записывать и читать из файла.
  • Запись: доступ для записи к файлу. Данные могут быть записаны в файл.

С . Открыть(String, FileMode, FileAccess, FileShare)

Строка, FileMode и FileAccess объяснялись ранее. Здесь мы предоставим описание FileShare.

Ниже приведены поддерживаемые поля.

  • Удалить: позволяет удалить файл.
  • Наследуемый: делает файлы наследуемыми. Это не поддерживается системой Win32.
  • Нет: отклоняет обмен файлами.
  • Чтение: позволяет открывать файл для чтения, пока файл не будет закрыт.
  • ReadWrite Позволяет открывать файл для чтения и записи, пока файл не будет закрыт.
  • Запись: позволяет открывать файл для записи, пока файл не будет закрыт.

Примеры

Вывод:

Когда вы вводите эту команду, она открывает файл для чтения, а когда чтение файла завершается успешно, файл закрывается.
Когда вы добавляете содержимое в файл, файл сначала открывается, а затем в него записываются данные. Например, если файл Servers.txt используется, имя сервера «AusServer001» не может быть добавлено в файл.

"AUSServer001" | Add-Content -Path C:\Temp\Servers.txt -Force

Чтобы открыть файл для операции, мы можем использовать приведенную ниже команду. Нам нужно открыть файл Servers.txt из папки C:\temp.

Вывод:

Поэтому, когда файл открыт, и когда вы пытаетесь открыть или отредактировать файл, появится следующее сообщение об ошибке.

Чтобы закрыть открытый файл после завершения операции, используйте метод close().

$file = [System.IO.File]::Open("C:\Temp\Servers.txt", [System.IO.FileMode]::Open)
$file.Close()< /p>

Как показано в приведенном выше синтаксисе, вместо Open можно использовать различные методы, такие как Create, CreateNew, Truncate и т. д.

Например, приведенная ниже команда откроет файл Servers.txt, если он существует, в противном случае будет создан новый файл.

Еще один способ открыть и прочитать файл с пространством имен System.IO.File — использовать команду ReadAllLines().

Вывод:

$file = New-Object System.IO.StreamReader("C:\Temp\Servers.txt")

Вы можете прочитать файл с помощью метода ReadToEnd().

Вывод:

Мы также можем использовать метод ReadLine() для чтения файла, но эта команда считывает одну строку за раз, поэтому нам нужно использовать цикл для чтения всего файла, как показано ниже.

$file = New-Object System.IO.StreamReader( "C:\Temp\Servers.txt" )
while( ($line = $file.readline()) -ne $null) $line
>

Вывод:

Заключение

Рекомендуемые статьи

Это руководство по открытию файла PowerShell. Здесь мы обсуждаем введение, синтаксис, параметры, как работает команда открытия файла в PowerShell?. Вы также можете ознакомиться со следующими статьями, чтобы узнать больше –

Читайте также:

Тип:SwitchParameter
Псевдонимы:wi
Позиция:Имя
Значение по умолчанию:False
Принимать ввод конвейера:False
Допускать подстановочные знаки:False