New-Item
Создает новый элемент.
Синтаксис
New-Item
[-Path] <String[]>
[-ItemType <String>]
[-Value <Object>]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-Item
[[-Path] <String[]>]
-Name <String>
[-ItemType <String>]
[-Value <Object>]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-Item
[-Path] <string[]>
-ConnectionURI <uri>
[-ItemType <string>]
[-Value <Object>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-OptionSet <hashtable>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <string>]
[-SessionOption <SessionOption>]
[-Port <int>]
[<CommonParameters>]
New-Item
[[-Path] <string[]>]
-Name <string>
[-ItemType <string>]
[-Value <Object>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-OptionSet <hashtable>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <string>]
[-SessionOption <SessionOption>]
[-ApplicationName <string>]
[-Port <int>]
[-UseSSL]
[<CommonParameters>]
New-Item
[-Path] <string[]>
[-ItemType <string>]
[-Value <Object>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Options <ScopedItemOptions>]
[<CommonParameters>]
New-Item
[[-Path] <string[]>]
-Name <string>
[-ItemType <string>]
[-Value <Object>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Options <ScopedItemOptions>]
[<CommonParameters>]
Описание
Командлет New-Item
создает новый элемент и задает его значение. Типы элементов, которые можно создать, зависят от расположения элемента. Например, в файловой системе New-Item
создаются файлы и папки. В реестре New-Item
создаются разделы и записи реестра.
New-Item
также может задать значение создаваемых элементов. Например, при создании нового файла New-Item
можно добавить исходное содержимое в файл.
Примеры
Пример 1. Создание файла в текущем каталоге
Эта команда создает текстовый файл с именем "testfile1.txt" в текущем каталоге. Точка ('.') в значении параметра Path указывает текущий каталог. Приведенный в кавычки текст, следующий за параметром Value , добавляется в файл в виде содержимого.
New-Item -Path . -Name "testfile1.txt" -ItemType "file" -Value "This is a text string."
Пример 2. Создание каталога
Эта команда создает каталог с именем Logfiles на C:
диске. Параметр ItemType указывает, что новый элемент является каталогом, а не файлом или другим объектом файловой системы.
New-Item -Path "c:\" -Name "logfiles" -ItemType "directory"
Пример 3. Создание профиля
Эта команда создает профиль PowerShell в пути, указанном переменной $profile
.
Профили можно использовать для настройки PowerShell. $profile
— это автоматическая (встроенная) переменная, в которой хранятся путь и имя файла профиля CurrentUser/CurrentHost. По умолчанию профиль не существует, даже если PowerShell хранит путь и имя файла для него.
В этой команде $profile
переменная представляет путь к файлу. Параметр ItemType указывает, что команда создает файл. Параметр Force позволяет создать файл в пути профиля, даже если каталоги в пути не существуют.
После создания профиля можно ввести псевдонимы, функции и скрипты в профиле, чтобы настроить оболочку.
Дополнительные сведения см. в about_Automatic_Variables и about_Profiles.
New-Item -Path $profile -ItemType "file" -Force
Пример 4. Создание каталога в другом каталоге
В этом примере создается новый каталог скриптов в каталоге C:\PS-Test.
Имя нового элемента каталога "Скрипты" включается в значение параметра Path , а не указано в значении Name. Как указывается в синтаксисе, любая форма команды допустима.
New-Item -ItemType "directory" -Path "c:\ps-test\scripts"
Пример 5. Создание нескольких файлов
В этом примере создаются файлы в двух разных каталогах. Так как Путь принимает несколько строк, его можно использовать для создания нескольких элементов.
New-Item -ItemType "file" -Path "c:\ps-test\test.txt", "c:\ps-test\Logs\test.log"
Пример 6. Использование подстановочных знаков для создания файлов в нескольких каталогах
Командлет New-Item
поддерживает подстановочные знаки в параметре Path . Следующая команда создает temp.txt
файл во всех каталогах, указанных подстановочными знаками в параметре Path .
Get-ChildItem -Path C:\Temp\
Directory: C:\Temp
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 5/15/2019 6:45 AM 1 One
d----- 5/15/2019 6:45 AM 1 Two
d----- 5/15/2019 6:45 AM 1 Three
New-Item -Path C:\Temp\* -Name temp.txt -ItemType File | Select-Object FullName
FullName
--------
C:\Temp\One\temp.txt
C:\Temp\Three\temp.txt
C:\Temp\Two\temp.txt
Командлет Get-ChildItem
показывает три каталога в каталоге C:\Temp
. С помощью подстановочных New-Item
знаков командлет создает temp.txt
файл во всех каталогах в текущем каталоге. Командлет New-Item
выводит созданные элементы, которые передаются для Select-Object
проверки путей только что созданных файлов.
Пример 7. Создание символьной ссылки на файл или папку
В этом примере создается символьная ссылка на файл Notice.txt в текущей папке.
$link = New-Item -ItemType SymbolicLink -Path .\link -Target .\Notice.txt
$link | Select-Object LinkType, Target
LinkType Target
-------- ------
SymbolicLink {.\Notice.txt}
В этом примере target — это псевдоним параметра Value . Цель символьной ссылки может быть относительным путем. До PowerShell версии 6.2 целевой объект должен быть полным путем.
Начиная с PowerShell 7.1, теперь вы можете создать символьную ссылку на папку в Windows с помощью относительного пути.
Пример 8. Использование параметра -Force для повторного создания папок
В этом примере создается папка с файлом внутри. Затем пытается создать ту же папку с помощью -Force
. Он не перезаписывает папку, но просто возвращает существующий объект папки с созданным нетронутым файлом.
PS> New-Item -Path .\TestFolder -ItemType Directory
PS> New-Item -Path .\TestFolder\TestFile.txt -ItemType File
PS> New-Item -Path .\TestFolder -ItemType Directory -Force
Directory: C:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 5/1/2020 8:03 AM TestFolder
PS> Get-ChildItem .\TestFolder\
Directory: C:\TestFolder
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 5/1/2020 8:03 AM 0 TestFile.txt
Пример 9. Использование параметра -Force для перезаписи существующих файлов
В этом примере создается файл со значением, а затем повторно создается файл с помощью -Force
. Это перезаписывает существующий файл, как видно по свойству length.
PS> New-Item ./TestFile.txt -ItemType File -Value 'This is just a test file'
Directory: C:\Source\Test
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 5/1/2020 8:32 AM 24 TestFile.txt
New-Item ./TestFile.txt -ItemType File -Force
Directory: C:\Source\Test
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 5/1/2020 8:32 AM 0 TestFile.txt
Примечание.
При использовании New-Item
с параметром -Force
для создания разделов реестра команда будет вести себя так же, как при перезаписи файла. Если раздел реестра уже существует, ключ и все свойства и значения будут перезаписаны пустым разделом реестра.
Параметры
-ApplicationName
Это динамический параметр, доступный поставщиком WSMan . Поставщик WSMan и этот параметр доступны только в Windows.
Указывает имя приложения в соединении. Значением по умолчанию параметра ApplicationName является WSMAN.
Дополнительные сведения см. в разделе New-WSManInstance.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Authentication
Это динамический параметр, доступный поставщиком WSMan . Поставщик WSMan и этот параметр доступны только в Windows.
Задает способ проверки подлинности, используемый на сервере.
Дополнительные сведения см. в разделе New-WSManInstance.
Тип: | AuthenticationMechanism |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-CertificateThumbprint
Это динамический параметр, доступный поставщиком WSMan . Поставщик WSMan и этот параметр доступны только в Windows.
Указывает сертификат цифрового открытого ключа (X509) учетной записи пользователя, которая имеет разрешение на выполнение этого действия WSMan. Введите отпечаток сертификата.
Дополнительные сведения см. в разделе New-WSManInstance.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Confirm
Запрос подтверждения перед выполнением командлета.
Тип: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ConnectionURI
Это динамический параметр, доступный поставщиком WSMan . Поставщик WSMan и этот параметр доступны только в Windows.
Указывает конечную точку подключения для WSMan.
Дополнительные сведения см. в разделе New-WSManInstance.
Тип: | Uri |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Credential
Примечание.
Этот параметр не поддерживается поставщиками, установленными с помощью PowerShell. Чтобы олицетворить другого пользователя или повысить свои учетные данные при выполнении этого командлета, используйте Invoke-Command
.
Тип: | PSCredential |
Position: | Named |
Default value: | Current user |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Force
Принудительно создает этот командлет для создания элемента, записываемого по существующему элементу только для чтения. Применение этого параметра зависит от конкретного поставщика. Даже при использовании параметра Force командлет не может переопределить ограничения безопасности.
Начиная с PowerShell 7.4, этот параметр также позволяет перезаписать существующее соединение. Ранее это приведет к сбою с ошибкой "не удается удалить, так как она не пуста".
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ItemType
Указывает тип нового элемента, заданный поставщиком. Доступные значения этого параметра зависят от используемого текущего поставщика.
Если ваше расположение находится на FileSystem
диске, допустимы следующие значения:
- Файлы
- Directory
- Символьная связь
- Соединение
- HardLink
Примечание.
SymbolicLink
Для создания типа в Windows требуется повышение прав администратора. Однако Windows 10 (сборка 14972 или более новая версия) с включенным режимом разработчика больше не требует повышения прав, создавая символьные ссылки.
Certificate
На диске это значения, которые можно указать:
- Поставщик Certificate
- Сертификат
- Store (Сохранить)
- StoreLocation
Дополнительные сведения см. в about_Providers.
Тип: | String |
Aliases: | Type |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Name
Указывает имя нового элемента. Можно указать имя нового элемента в значении параметра Name или Path, а также указать путь к новому элементу в значении "Имя" или "Путь". Имена элементов, передаваемые с помощью параметра Name , создаются относительно значения параметра Path .
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Options
Это динамический параметр, доступный поставщиком Псевдонима . Дополнительные сведения см. в разделе "Новый псевдоним".
Задает значение свойства Options псевдонима.
Допустимые значения:
None
: псевдоним не имеет ограничений (значение по умолчанию)ReadOnly
: псевдоним можно удалить, но не может быть изменен без использования параметра ForceConstant
: псевдоним нельзя удалить или изменитьPrivate
: псевдоним доступен только в текущей областиAllScope
: псевдоним копируется в любые новые области, созданныеUnspecified
: параметр не указан
Тип: | ScopedItemOptions |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-OptionSet
Это динамический параметр, доступный поставщиком WSMan . Поставщик WSMan и этот параметр доступны только в Windows.
Передает набор параметров в службу, чтобы изменить или уточнить характер запроса.
Дополнительные сведения см. в разделе New-WSManInstance.
Тип: | Hashtable |
Aliases: | OS |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Path
Указывает путь к расположению нового элемента. Значение по умолчанию — текущее расположение, когда путь опущен. Можно указать имя нового элемента в name или включить его в path. Имена элементов, передаваемые с помощью параметра Name , создаются относительно значения параметра Path .
Для этого командлета параметр Path работает так же, как параметр LiteralPath других командлетов.
Подстановочные знаки не интерпретируются. Все символы передаются поставщику расположения. Поставщик может не поддерживать все символы. Например, нельзя создать имя файла, содержащее звездочку (*
) символ.
Тип: | String[] |
Position: | 0 |
Default value: | Current location |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Port
Это динамический параметр, доступный поставщиком WSMan . Поставщик WSMan и этот параметр доступны только в Windows.
Указывает порт, используемый при подключении клиента к службе удаленного управления Windows.
Дополнительные сведения см. в разделе New-WSManInstance.
Тип: | Int32 |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-SessionOption
Это динамический параметр, доступный поставщиком WSMan . Поставщик WSMan и этот параметр доступны только в Windows.
Определяет набор расширенных параметров для сеанса WS-Management.
Дополнительные сведения см. в разделе New-WSManInstance.
Тип: | SessionOption |
Aliases: | SO |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-UseSSL
Это динамический параметр, доступный поставщиком WSMan . Поставщик WSMan и этот параметр доступны только в Windows.
Указывает, что для подключения к удаленному компьютеру следует использовать протокол SSL. По умолчанию SSL не используется.
Дополнительные сведения см. в разделе New-WSManInstance.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Value
Указывает значение нового элемента. Можно также передать значение New-Item
в .
Тип: | Object |
Aliases: | Target |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-WhatIf
Показывает, что произойдет при запуске командлета. Командлет не выполняется.
Тип: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
Можно передать значение нового элемента в этот командлет.
Выходные данные
Командлет возвращает объект DictionaryEntry при создании новой переменной среды.
Командлет возвращает объект DirectoryInfo при создании нового каталога в файловой системе.
Командлет возвращает объект FileInfo при создании нового файла в файловой системе.
Командлет возвращает объект AliasInfo при создании нового псевдонима.
Командлет возвращает объект FunctionInfo при создании новой функции.
Командлет возвращает объект PSVariable при создании новой переменной.
Примечания
PowerShell включает следующие псевдонимы для New-Item
:
- Все платформы:
ni
New-Item
предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы вывести список поставщиков, доступных в данном сеансе, введите командлет Get-PsProvider
. Дополнительные сведения см. в about_Providers.
Связанные ссылки
PowerShell