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. Create файла в текущем каталоге
Эта команда создает текстовый файл с именем "testfile1.txt" в текущем каталоге. Точка ('.') в значении параметра Path указывает на текущий каталог. Текст в кавычках, следующий за параметром Value , добавляется в файл как содержимое.
New-Item -Path . -Name "testfile1.txt" -ItemType "file" -Value "This is a text string."
Пример 2. Create каталога
Эта команда создает каталог с именем Logfiles на C:
диске. Параметр ItemType указывает, что новый элемент является каталогом, а не файлом или другим объектом файловой системы.
New-Item -Path "c:\" -Name "logfiles" -ItemType "directory"
Пример 3. Create профиля
Эта команда создает профиль PowerShell в пути, указанном в переменной $profile
.
Профили можно использовать для настройки PowerShell. $profile
— это автоматическая (встроенная) переменная, которая хранит путь и имя файла профиля CurrentUser/CurrentHost. По умолчанию профиль не существует, хотя PowerShell сохраняет для него путь и имя файла.
В этой команде $profile
переменная представляет путь к файлу. Параметр ItemType указывает, что команда создает файл. Параметр Force позволяет создать файл по пути профиля, даже если каталоги в пути не существуют.
После создания профиля можно ввести псевдонимы, функции и скрипты в профиле, чтобы настроить оболочку.
Дополнительные сведения см. в разделе about_Automatic_Variables и about_Profiles.
New-Item -Path $profile -ItemType "file" -Force
Пример 4. Create каталога в другом каталоге
В этом примере создается новый каталог Scripts в каталоге C:\PS-Test.
Имя нового элемента каталога Scripts включается в значение параметра Path , а не указывается в значении Name. Как указывается в синтаксисе, любая форма команды допустима.
New-Item -ItemType "directory" -Path "c:\ps-test\scripts"
Пример 5. Create нескольких файлов
В этом примере создаются файлы в двух разных каталогах. Так как Path принимает несколько строк, его можно использовать для создания нескольких элементов.
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. Create символьной ссылки на файл или папку
В этом примере создается символьная ссылка на файл 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, теперь вы можете создать в SymbolicLink папку в 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.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Authentication
Это динамический параметр, доступный поставщиком WSMan . Поставщик WSMan и этот параметр доступны только в Windows.
Задает способ проверки подлинности, используемый на сервере.
Дополнительные сведения см. в разделе New-WSManInstance.
Type: | AuthenticationMechanism |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CertificateThumbprint
Это динамический параметр, доступный поставщиком WSMan . Поставщик WSMan и этот параметр доступны только в Windows.
Указывает сертификат цифрового открытого ключа (X509) учетной записи пользователя, у которого есть разрешение на выполнение этого действия WSMan. Введите отпечаток сертификата.
Дополнительные сведения см. в разделе New-WSManInstance.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Запрос подтверждения перед выполнением командлета.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ConnectionURI
Это динамический параметр, доступный поставщиком WSMan . Поставщик WSMan и этот параметр доступны только в Windows.
Указывает конечную точку подключения для WSMan.
Дополнительные сведения см. в разделе New-WSManInstance.
Type: | Uri |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Примечание
Этот параметр не поддерживается поставщиками, установленными с помощью PowerShell. Чтобы олицетворить другого пользователя или повысить уровень учетных данных при выполнении этого командлета, используйте Invoke-Command
.
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Force
Заставляет этот командлет создать элемент, который записывает существующий элемент, доступный только для чтения. Применение этого параметра зависит от конкретного поставщика. Даже при использовании параметра Force командлет не может переопределить ограничения безопасности.
Вы не можете использовать Force для перезаписи существующего соединения. Попытка перезаписать существующую развязку завершается ошибкой "Не удается удалить, так как она не пуста". Перед созданием новой необходимо удалить существующее соединение.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ItemType
Указывает тип нового элемента, заданный поставщиком. Доступные значения этого параметра зависят от текущего поставщика, который вы используете.
Если ваше расположение находится на FileSystem
диске, допустимы следующие значения:
- Файл
- Каталог
- SymbolicLink
- Соединение
- HardLink
Примечание
Для создания типа в SymbolicLink
Windows требуется повышение прав администратора. Однако Windows 10 (сборка 14972 или более позднюю версию) с включенным режимом разработчика больше не требует повышения прав, чтобы создавать символьные ссылки.
Certificate
На диске можно указать следующие значения:
- Поставщик Certificate
- Сертификат
- Магазин
- StoreLocation
Дополнительные сведения см . в разделе about_Providers.
Type: | String |
Aliases: | Type |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Указывает имя нового элемента. Вы можете указать имя нового элемента в значении параметра Имя или Путь , а путь к новому элементу можно указать в поле Имя или Значение пути . Имена элементов, передаваемые с помощью параметра Name , создаются относительно значения параметра Path .
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Options
Это динамический параметр, доступный поставщиком псевдонимов . Дополнительные сведения см. в разделе New-Alias.
Задает значение свойства Options псевдонима.
Допустимые значения:
None
: псевдоним не имеет ограничений (значение по умолчанию)ReadOnly
: псевдоним можно удалить, но изменить без использования параметра Force .Constant
: псевдоним нельзя удалить или изменить.Private
: псевдоним доступен только в текущем областьAllScope
: псевдоним копируется во все новые области, которые создаются.Unspecified
: параметр не указан.
Type: | ScopedItemOptions |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OptionSet
Это динамический параметр, доступный поставщиком WSMan . Поставщик WSMan и этот параметр доступны только в Windows.
Передает набор параметров в службу, чтобы изменить или уточнить характер запроса.
Дополнительные сведения см. в разделе New-WSManInstance.
Type: | Hashtable |
Aliases: | OS |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Указывает путь к расположению нового элемента. По умолчанию используется текущее расположение, если параметр Path опущен. Вы можете указать имя нового элемента в поле Имя или включить его в путь. Имена элементов, передаваемые с помощью параметра Name , создаются относительно значения параметра Path .
Для этого командлета параметр Path работает аналогично параметру LiteralPath других командлетов.
Подстановочные знаки не интерпретируются. Все символы передаются поставщику расположения. Поставщик может поддерживать не все символы. Например, нельзя создать имя файла, содержащее символ звездочки (*
).
Type: | String[] |
Position: | 0 |
Default value: | Current location |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Port
Это динамический параметр, доступный поставщиком WSMan . Поставщик WSMan и этот параметр доступны только в Windows.
Указывает порт, используемый при подключении клиента к службе удаленного управления Windows.
Дополнительные сведения см. в разделе New-WSManInstance.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SessionOption
Это динамический параметр, доступный поставщиком WSMan . Поставщик WSMan и этот параметр доступны только в Windows.
Определяет набор расширенных параметров для сеанса WS-Management.
Дополнительные сведения см. в разделе New-WSManInstance.
Type: | SessionOption |
Aliases: | SO |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseSSL
Это динамический параметр, доступный поставщиком WSMan . Поставщик WSMan и этот параметр доступны только в Windows.
Указывает, что для подключения к удаленному компьютеру следует использовать протокол SSL. По умолчанию SSL не используется.
Дополнительные сведения см. в разделе New-WSManInstance.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Value
Указывает значение нового элемента. Вы также можете передать значение по конвейеру в New-Item
.
Type: | Object |
Aliases: | Target |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Показывает, что произойдет при запуске командлета. Командлет не выполняется.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Входные данные
Вы можете передать значение для нового элемента в этот командлет.
Выходные данные
Командлет возвращает объект DictionaryEntry при создании новой переменной среды.
Командлет возвращает объект DirectoryInfo при создании нового каталога в файловой системе.
Командлет возвращает объект FileInfo при создании нового файла в файловой системе.
Командлет возвращает объект AliasInfo при создании нового псевдонима.
Командлет возвращает объект FunctionInfo при создании новой функции.
Командлет возвращает объект PSVariable при создании новой переменной.
Примечания
PowerShell включает следующие псевдонимы для New-Item
:
- Для всех платформ.
ni
New-Item
предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы вывести список поставщиков, доступных в данном сеансе, введите командлет Get-PsProvider
. Дополнительные сведения см. в разделе about_Providers.