New item powershell: A Beginners Guide To PowerShell New-Item
Содержание
Новый элемент — PowerShell — SS64.com
Новый элемент — PowerShell — SS64.com
- SS64
- PowerShell
- Практическое руководство
Создать новый элемент в пространстве имен. Создавайте файлы и папки, символические ссылки, разделы реестра и записи реестра.
Синтаксис Новый элемент [-имя] строка [-путь строка ] [-force] [-credential PSCredential ] [-itemType строка ] [-значение Объект ] [-whatIf] [-confirm] [-UseTransaction] [ Общие параметры ] Ключ -имя строка Имя нового элемента. -путь строка Пути к элементам. Подстановочные знаки разрешены. Используйте точку (.), чтобы указать текущее местоположение. -значение Объект Значение нового элемента может быть передано по конвейеру. -сила Переопределить ограничения, препятствующие успешному выполнению команды, за исключением из настроек безопасности. например переименовать существующий файл. Создайте файл, когда каталоги в пути не существуют (PowerShell создаст их) -itemType строка Указанный провайдером тип нового элемента для файловой системы: файл, каталог, SymbolicLink -Тип строка Псевдоним для -itemType выше -что, если Опишите, что произойдет, если вы выполните команду без фактически выполнение команды. -подтверждать Запрашивать подтверждение перед выполнением команды. -учетные данные PSCredential Используйте учетные данные для подтверждения доступа к файлу. Учетные данные представляет имя пользователя, например «User64» или «Domain64\User64», или PSCredential объект, например полученный с помощью командлета Get-Credential. Если вы введете имя пользователя, вам будет предложено ввести пароль. Этот параметр не поддерживается какими-либо основными командлетами или поставщиками PowerShell. -Использовать транзакцию Включите команду в активную транзакцию.
Стандартные псевдонимы для нового предмета: md, ni
mkdir — это функция, которая вызывает New-Item
.
New-Item создает новый элемент и устанавливает его значение. Типы элементов, которые можно создать, зависят от местоположения элемента. Например, в файловой системе New-Item используется для создания файлов и папок. В реестре New-Item создает ключи и записи реестра.
New-Item также может устанавливать стоимость создаваемых им элементов. Например, при создании нового файла командлет New-Item может добавить в файл начальное содержимое.
В Windows и в выпуске PowerShell Core команда New-Item -Type File -Value по умолчанию создает файлы UTF-8 без BOM.
Файлы в этом формате будут неправильно интерпретированы Get-Content как файлы ASCII.
Эту кодировку файла можно настроить, задав привилегированную переменную $PSDefaultParameterValues.
По умолчанию new-item отображает только что созданный элемент, на самом деле он записывает в конвейер (который по умолчанию передается хосту). Это можно подавить, назначив фиктивную переменную ($null = new-item…) или просто перенаправив конвейер на out-null.
Файлы, созданные с помощью нового элемента, будут иметь размер 0 байт, файлы большего размера, заполненные символами NUL, можно создать, вызвав .net [System.IO.File]::Create( файл ).
Это создаст файл ANSI размером 10 МБ:
.
$file = ‘C:\demo\dummy.txt’
$sizeBytes = 10 МБ
$file = [System.IO.File]::Create($file)
$file.SetLength($sizeBytes)
$файл.Закрыть()
$file.Dispose()
.Net также предоставляет способ создания временных файлов размером 0 байт: [System.IO.Path]::GetTempFileName()
Примеры
Создать текстовый файл:
PS C:\> new-item -path C:\docs -name SS64.txt -type «file» -value «some text»
Обратите внимание, что это не перезапишет существующий файл; чтобы перезаписать существующий файл, используйте set-content вместо new-item.
Создайте каталог с именем «Demo Folder» на диске C::
PS C:\> new-item -path c:\ -name «Demo Folder» -type directory
Создать новый временный файл:
PS C:\> $tmp = [System.IO.Path]::GetTempFileName()
PS C:\> get-Item -path $tmp
Создайте новую переменную с именем $myVar:
PS C:\> переменная нового элемента:\myVar -value «testing123»
Создать новую функцию:
PS C:\> $myMultiLineFunc = { #добавьте сюда определение функции }
PS C:\> New-Item -Path function:demo-func -Value $myMultiLineFunc
Если папки не существует, то создайте ее:
если (-Не (тестовый путь «F:\BACKUP»))
{
New-Item -Path «F:\BACKUP» -ItemType Directory | вне нуля
}
Создайте профиль PowerShell по пути, указанному в переменной $profile:
PS C:\> new-item -path $profile -type file -force
$profile — это автоматическая (встроенная) переменная, в которой хранятся путь и имя файла вашего профиля PowerShell
По умолчанию файл профиля не существует, хотя PowerShell имеет для него имя файла, файл можно создать с помощью New-Item или блокнота.
После использования приведенной выше команды для создания профиля вы можете ввести псевдонимы, функции и сценарии в профиль для настройки оболочки.
«Выбор — это создание» ~ Коити (японский дизайнер интерьеров)
Связанные командлеты PowerShell
Clear-item — удалить содержимое из переменной или псевдонима.
Copy-item — Копировать элемент из расположения в пространстве имен.
Get-item — вернуть объект, представляющий элемент в пространстве имен.
Invoke-item — вызвать исполняемый файл или открыть файл (СТАРТ).
Move-item — Переместить предмет из одного места в другое.
New-Object — создать новый объект .Net.
Set-item — Установите значение пути к провайдеру.
Remove-item — удалить элемент.
Переименовать элемент — изменить имя существующего элемента.
Справка about_automatic_variables.
Copyright © 1999-2023 SS64.com
Некоторые права защищены
Руководство для начинающих по PowerShell New-Item
PowerShell — это надежная исходная оболочка и язык сценариев, в котором содержится множество командлетов. Но как новичок вы можете сначала изучить командлет PowerShell New-Item
. Этот командлет является одним из основных командлетов, поскольку он позволяет создавать новые элементы.
В этом уроке вы узнаете, как использовать New-Item 9Командлет 0142 для создания элементов, таких как файлы и каталоги, с помощью одной команды.
Погрузитесь и начните создавать элементы в PowerShell!
Предварительные условия
В этом учебном пособии представлены практические демонстрации. Для продолжения вам понадобится операционная система с установленным PowerShell. В этом руководстве используются Windows 10 и PowerShell 7.
Создание файлов с помощью командлета PowerShell
New-Item
Возможно, вам потребуется создать новые файлы в PowerShell. Если да, то 9Командлет 0141 New-Item сделает свое дело. Этот командлет удобен, так как вам не нужно переключаться между разными окнами для создания элементов.
Базовый синтаксис команды New-Item
следующий:
Параметр | Функция |
---|---|
-P ath | Указывает место для создания элемента. |
-Name | Предоставляет имя элемента. |
-ItemType | Задает тип создаваемого элемента (например, текстовый файл, сценарий PowerShell или даже файл изображения). командлеты. |
New-Item -Path -Name -ItemType -Value
Чтобы увидеть, как New-Item работает при создании файлов:
1. Выполните приведенную ниже команду. чтобы создать новый файл с именем file.txt
со значением «текущий каталог демо-файла нового элемента powershell».
в рабочем каталоге (-Путь.
)
Новый-Элемент-Путь. -Name "file.txt" -ItemType "file" -Value "powershell new-item demo file current directory."
Создание файла в рабочем каталоге
2. Затем откройте проводник, найдите и откройте текстовый файл ( file.txt ), который вы создали в предпочитаемом вами текстовом редакторе, чтобы проверить файл.
Новый элемент PowerShell: проверка создания файла
3. Теперь выполните приведенную ниже команду, чтобы создать несколько текстовых файлов ( log1.txt
и *log2.txt*
), где запятые разделяют пути ( c:\\logfiles
).
New-Item -ItemType "file" -Path "c:\logfiles\log1.txt", "c:\logfiles\log2.txt"
Создание нескольких файлов
💡 Разделение путей к файлам запятыми идеально, только если вы создаете как минимум два или три файла. Если вы планируете создавать большое количество файлов, лучшим вариантом будет создание массивов PowerShell, но это выходит за рамки данного руководства.
Создание каталогов и подкаталогов
Помимо создания файлов, командлет PowerShell New-Item
позволяет создавать каталоги и подкаталоги с помощью одной команды. Эта функция помогает при создании структуры каталогов для ваших файлов.
Синтаксис создания каталога аналогичен созданию файла, но вы должны указать -ItemType
как "каталог"
.
Чтобы подготовить структуру каталогов для ваших файлов:
1. Выполните следующую команду, чтобы создать новый каталог
с именем test
на диске C:\\
.
New-Item -Path C:\ -Name "test" -ItemType "каталог"
Создание нового каталога
2. Затем перейдите к диску C:\ в проводнике, найдите и проверьте новый -созданный каталог ( test ) существует.
Проверка вновь созданного каталога
3. После проверки выполните приведенную ниже команду, чтобы создать подкаталог в C:\reports\images
New-Item -Path "C:\reports\images" -ItemType "каталог"
Создание подкаталога
4. Наконец, перейдите в каталог C:\reports , чтобы проверить вновь созданный подкаталог ( изображений ) присутствует.
Проверка создания каталога
Создание нескольких файлов с подстановочным знаком
Возможно, вы ищете способ создать файлы журналов для каждой недели месяца за один раз. В этом случае подстановочный знак работает волшебно, особенно символ. Подстановочный знак может быть полезен, если вы хотите создать несколько файлов или каталогов с одинаковыми именами.
Запустите приведенную ниже команду, чтобы создать файлы журнала с тем же именем ( logs.txt
) во всех ( *
) существующих подкаталогах с именами неделя1, неделя2, неделя3, и неделя4. Командлет [Select-Object]
передается командлету New-Item
для печати полного пути к каждому созданному файлу журнала.
New-Item -Path C:\\logfiles\\* -Name logs.txt -ItemType File | Select-Object FullName
Создание файлов с использованием подстановочного знака
Перезапись файлов с помощью
Командлет New-Item
При создании нового элемента, например файла или каталога, с помощью командлета PowerShell New-Item
вы получите сообщение об ошибке, в котором говорится, что элемент уже существует, как показано ниже.
Получение ошибки при создании файла, который уже существует
Но, возможно, вы хотите перезаписывать файл журнала каждый раз, когда выполняется запланированное задание. Если это так, добавление параметра -Force
позволяет принудительно перезаписывать файлы без получения подсказки или сообщения об ошибке.
1. Выполните следующую команду, чтобы создать новый файл
с именем log3.txt
в каталоге c:\\logfiles
с содержимым Файл журнала 3.
New-Item -ItemType "file" -Path "c:\logfiles\log3.txt" -Value 'Содержимое файла журнала 3.'
Затем выполните приведенную ниже команду Get-Content
, чтобы получить содержимое файла log3.txt
. Get-Content "c:\\logfiles\\log3.txt"
Get-Content "c:\logfiles\log3.txt"
Logfile 3 Content
3. Теперь выполните приведенную ниже команду, чтобы принудительно ( -Force
) перезаписать существующий файл журнала ( log3. txt
) новым содержимым ( Log File 3 content. Hello world
).
New-Item -ItemType "file" -Path "c:\logfiles\log3.txt" -Value 'Содержимое файла журнала 3. Hello world' -Force
Использование параметра -Force
для перезаписи существующего файла
💡 Будьте осторожны при использовании параметра
-Force
, так как он может перезаписывать существующие файлы без предупреждения.
4. Теперь выполните следующую команду, чтобы проверить содержимое перезаписанного файла журнала.
Get-Content "c:\logfiles\log3.txt"
Проверка измененного содержимого файла log3.txt
Повторное создание каталога
Предположим, что существующий каталог поврежден. Подобно перезаписи файла, вы можете воссоздать этот поврежденный каталог, используя параметр -Force
, чтобы исправить его. Но обратите внимание, что, в отличие от файлов, вы не можете перезаписывать каталоги.
При использовании параметра -Force
для повторного создания каталога командлет New-Item
просто возвращает объект существующего каталога. Файлы или подкаталоги внутри воссозданного каталога остаются нетронутыми.
1. Запустите приведенную ниже команду, чтобы создать подкаталог с именем force-demo
в каталоге c:\\logfiles
. Этот подкаталог просто демонстрирует влияние воссоздания его родительского каталога.
New-Item -Path "c:\logfiles\force-demo" -ItemType Directory
Создание подкаталога
2. Затем выполните приведенную ниже команду Get-ChildItem
, чтобы просмотреть содержимое каталога c:\\logfiles
.
Список содержимого каталога c:\logfiles
3. Затем выполните приведенную ниже команду, чтобы принудительно ( -Force
) воссоздать каталог c:\\logfiles
.
New-Item -Path "c:\logfiles" -ItemType Directory -Force
Повторное создание каталога
4.