Как создать файл в powershell
Обновлено: 21.11.2024
PowerShell – это оболочка или язык сценариев, разработанный Microsoft для автоматизации различных задач. например, администраторы используют этот инструмент для автоматизации административных задач. Более того, как язык он используется для разработки и развертывания решений в гибких средах, непрерывной интеграции и непрерывном развертывании. В дистрибутивах на основе Linux сопоставимой оболочкой является Bash; и большинство команд Bash выполняются в PowerShell. Командная строка Windows (CMD) — это оболочка Windows по умолчанию, но теперь в последних сборках Windows 10 оболочка по умолчанию заменена PowerShell.
PowerShell можно использовать для выполнения различных операций Windows, таких как создание папок, каталогов. Точно так же с текстовыми файлами можно работать с помощью PowerShell; мы можем редактировать текстовые файлы, добавляя или удаляя содержимое из текстовых файлов.
Мы продемонстрируем различные способы создания и редактирования текстовых файлов с помощью PowerShell:
Как создавать и редактировать файлы с помощью PowerShell
Следующие шаги позволят вам создавать текстовые файлы с помощью PowerShell; кроме того, в этом разделе также рассматриваются различные способы редактирования текстовых файлов.
Шаг 1. Как создать текстовый файл с помощью PowerShell
Есть две возможности, которые следует учитывать при создании нового текстового файла в PowerShell:
Возможность 1: Создайте текстовый файл в текущем рабочем каталоге (PWD): для этого выполните следующую команду, чтобы создать новый файл: указанный ниже порядок создаст текстовый файл с именем «file1» в текущем каталоге. :
Возможность 2: если вы хотите получить новый файл в другой папке, вы должны указать полный путь; и убедитесь, что целевой каталог существует; В противном случае вы не сможете внести изменения в неизвестный каталог или диск. Приведенная ниже команда создаст новый текстовый файл «file2» в целевом каталоге диска «E».
После того как вы создали текстовый файл, вы готовы перейти к шагу 2.
Шаг 2. Как писать внутри текстовых файлов с помощью PowerShell
Замечено, что у каждого трека есть свои плюсы и минусы, поэтому пользователи должны выбирать в соответствии со своими требованиями. Ниже приведены три метода, которые вы можете использовать для записи в текстовый файл:
Замена данных. Если вы хотите заменить существующее содержимое текстового файла новым, вы должны использовать метод 1.
Добавление содержимого: Однако, если вы хотите добавить несколько строк к существующему содержимому, вы должны следовать способу 2.
Использование редактора nano для редактирования текстовых файлов в PowerShell. Если вы хотите несколько раз добавить или удалить содержимое текстового файла, рекомендуется рассмотреть способ 3.
Метод 1: замена данных
Прежде чем устанавливать содержимое, сначала; прочитайте файл с помощью следующей команды:
После выполнения результат показан ниже:
Если вы хотите записать в текстовый файл, выполните приведенную ниже команду, чтобы заменить текст в файле1:
После успешного выполнения вашей команды прочитайте содержимое вашего файла, чтобы проверить, был ли текст заменен или нет. Приведенная ниже команда напечатает содержимое «file1.txt»
Вы заметите, что текст был заменен:
Метод 2: добавление содержимого
В отличие от первого метода, второй метод добавит содержимое к существующим данным в файле; предыдущий контент также будет доступен в файле:
Чтобы добавить текст, выполните следующую команду: приведенная ниже команда добавит текст, заключенный в одинарные кавычки, в файл file1.txt.
После выполнения вышеуказанной команды проверьте, был ли добавлен текст или нет; для этого выполните следующую команду для проверки. Вы обнаружите, что строка, заключенная в одинарные кавычки, теперь добавляется как новая строка в файл file1.txt.
Метод 3. Использование редактора nano для редактирования текстовых файлов в PowerShell
Еще один способ внесения изменений в текстовые файлы — использование редактора «nano» в PowerShell:
Редактор nano недоступен в PowerShell; вы должны установить пакет. Перед этой установкой вы должны убедиться, что вы используете PowerShell с правами администратора; в противном случае установка не будет успешной. После того, как вы запустили PowerShell от имени администратора; можно продолжить дальше:
Во-первых, вам необходимо установить пакет «chocolatey»; пакет «chocolatey» поддерживает редактор nano. Таким образом, его необходимо установить перед добавлением редактора nano, и вы можете установить его с помощью команды, приведенной ниже:
После успешной установки пакета «choco»; Теперь установите редактор «nano» с помощью приведенной ниже команды:
Во время установки будет предложено нажать «Y», чтобы продолжить установку:
После успешного выполнения вышеуказанных команд перезапустите PowerShell:
После этого откройте целевой каталог вашего текстового файла в PowerShell: Как только вы достигли каталога; проверить текстовый файл, существует он или нет; для этого выполните следующую команду в PowerShell:
После этого вы можете отредактировать текстовый файл с помощью редактора «nano» с помощью приведенной ниже команды.
После выполнения вы обнаружите, что ваш текстовый файл будет открыт в редакторе, где вы сможете добавлять, удалять или заменять содержимое файла.
Редактор Nano позволяет редактировать, удалять и добавлять текст так же, как и в других текстовых редакторах. Например, если вы хотите добавить текст, начните писать после существующего текста. После добавления нажмите «Ctrl+X», чтобы выйти из редактора; после этого действия нажмите «Y», чтобы сохранить изменения, или нажмите «N», чтобы отменить изменения. Кроме того, вы можете удалить существующий контент и сохранить изменения, как описано выше.
Командлет New-Item создает новый элемент и устанавливает его значение. Типы элементов, которые можно создать, зависят от местоположения элемента. Например, в файловой системе New-Item создает файлы и папки. В реестре New-Item создает разделы и записи реестра.
Командлет New-Item также может устанавливать стоимость создаваемых им элементов. Например, при создании нового файла командлет New-Item может добавить в него начальное содержимое.
Примеры
Пример 1. Создание файла в текущем каталоге
Эта команда создает текстовый файл с именем "testfile1.txt" в текущем каталоге. Точка ('.') в значении параметра Path указывает на текущий каталог. Текст в кавычках, следующий за параметром Value, добавляется в файл как содержимое.
Пример 2. Создание каталога
Эта команда создает каталог с именем "Logfiles" на диске C:. Параметр ItemType указывает, что новый элемент является каталогом, а не файлом или другим объектом файловой системы.
Пример 3. Создание профиля
Эта команда создает профиль PowerShell по пути, указанному в переменной $profile.
Вы можете использовать профили для настройки PowerShell. $profile — это автоматическая (встроенная) переменная, в которой хранятся путь и имя файла профиля «CurrentUser/CurrentHost». По умолчанию профиль не существует, хотя PowerShell хранит для него путь и имя файла.
В этой команде переменная $profile представляет собой путь к файлу. Параметр ItemType указывает, что команда создает файл. Параметр Force позволяет создать файл в пути к профилю, даже если каталоги в пути не существуют.
После создания профиля вы можете ввести в него псевдонимы, функции и сценарии, чтобы настроить свою оболочку.
Пример 4. Создание каталога в другом каталоге
В этом примере создается новый каталог Scripts в каталоге C:\PS-Test.
Имя нового элемента каталога, «Сценарии», включается в значение параметра «Путь», а не указывается в значении «Имя». Как видно из синтаксиса, допустима любая форма команды.
Пример 5. Создание нескольких файлов
В этом примере файлы создаются в двух разных каталогах. Поскольку путь принимает несколько строк, вы можете использовать его для создания нескольких элементов.
Пример 6. Использование подстановочных знаков для создания файлов в нескольких каталогах
Командлет New-Item поддерживает подстановочные знаки в параметре Path. Следующая команда создает файл temp.txt во всех каталогах, указанных подстановочными знаками в параметре Path.
Командлет Get-ChildItem показывает три каталога в каталоге C:\Temp. Используя подстановочные знаки, командлет New-Item создает файл temp.txt во всех каталогах текущего каталога. Командлет New-Item выводит созданные вами элементы, которые передаются в Select-Object для проверки путей вновь созданных файлов.
Пример 7. Создание символической ссылки на файл или папку
В этом примере создается символическая ссылка на файл Notice.txt в текущей папке.
В этом примере Target – это псевдоним параметра Value. Целью символической ссылки может быть относительный путь. До PowerShell версии 6.2 целью должен быть полный путь.
Начиная с PowerShell 7.1, теперь вы можете создать символическую ссылку на папку в Windows, используя относительный путь.
Пример 8. Используйте параметр -Force для повторного создания папок
В этом примере создается папка с файлом внутри. Затем пытается создать ту же папку с помощью -Force . Он не перезапишет папку, а просто вернет существующий объект папки с созданным файлом без изменений.
Пример 9. Использование параметра -Force для перезаписи существующих файлов
В этом примере создается файл со значением, а затем файл создается заново с помощью -Force . Это перезапишет существующий файл, и он потеряет свое содержимое, как вы можете видеть по свойству длины
При использовании команды New-Item с параметром -Force для создания разделов реестра команда будет вести себя так же, как при перезаписи файла. Если раздел реестра уже существует, он и все свойства и значения будут перезаписаны пустым разделом реестра.
Параметры
Запрашивает подтверждение перед запуском командлета.
Тип: | SwitchParameter |
Псевдонимы: | cf |
Позиция: | Имя |
Значение по умолчанию: | False | < /tr>
Принимать ввод конвейера: | False |
Допускать подстановочные знаки: | False |
Тип: | PSCredential |
Позиция: | Имя |
Значение по умолчанию: | Текущий пользователь |
Принять ввод конвейера: | Истина | < /tr>
Допускать подстановочные знаки: | False |
Заставляет этот командлет создать элемент, который перезаписывает существующий элемент, доступный только для чтения. Реализация варьируется от поставщика к поставщику. Даже при использовании параметра Force командлет не может обойти ограничения безопасности.
Тип: | SwitchParameter |
Позиция: | Именованный |
Значение по умолчанию: | Нет |
Принять ввод конвейера: | False |
Допускать подстановочные знаки: | False |
Определяет указанный поставщиком тип нового элемента. Доступные значения этого параметра зависят от текущего используемого поставщика.
Если вы находитесь на диске FileSystem, допустимы следующие значения:
- Файл
- Каталог
- Символическая ссылка
- Соединение
- Жесткая ссылка
Для создания типа SymbolicLink в Windows требуется повышение прав администратора. Однако в Windows 10 (сборка 14972 или новее) с включенным режимом разработчика больше не требуется повышение прав для создания символических ссылок.
На диске сертификата можно указать следующие значения:
- Поставщик сертификата
- Сертификат
- Магазин
- Местоположение магазина
Для получения дополнительной информации см. about_Providers.
Тип: | String |
Псевдонимы: | Тип |
Позиция: | Имя |
Значение по умолчанию: | Нет | < /tr>
Принимать ввод конвейера: | Истина |
Допускать подстановочные знаки: | Ложь |
Тип: | Строка |
Позиция: | Именованный |
Значение по умолчанию: | Нет |
Принять ввод конвейера: | Истина |
Допускать подстановочные знаки: | False |
Указывает путь расположения нового элемента. По умолчанию используется текущее местоположение, если путь не указан. Вы можете указать имя нового элемента в Имя или включить его в Путь.Имена элементов, передаваемые с использованием параметра Name, создаются относительно значения параметра Path.
Для этого командлета параметр Path работает так же, как параметр LiteralPath других командлетов. Подстановочные знаки не интерпретируются. Все символы передаются поставщику местоположения. Поставщик может не поддерживать все символы. Например, вы не можете создать имя файла, содержащее символ звездочки ( * ).
Тип: | Строка [ ] |
Позиция: | 0 td> |
Значение по умолчанию: | Текущее местоположение |
Принять ввод конвейера: | True |
Допускать подстановочные знаки: | False |
Указывает значение нового элемента. Вы также можете передать значение New-Item .
Тип: | Объект |
Псевдонимы: | Цель |
Позиция: | Имя |
Значение по умолчанию: | Нет | < /tr>
Принимать ввод конвейера: | Истина |
Допускать подстановочные знаки: | Ложь |
Тип: | SwitchParameter |
Псевдонимы: | wi |
Позиция: | Имя |
Значение по умолчанию: | False | < /tr>
Принимать ввод конвейера: | False |
Допускать подстановочные знаки: | False |