New-Item
Cria um novo item.
Sintaxe
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>]
Description
O cmdlet New-Item
cria um novo item e define seu valor. Os tipos de itens que podem ser criados dependem da localização do item. Por exemplo, no sistema de arquivos, New-Item
cria arquivos e pastas. No registro, New-Item
cria chaves e entradas do Registro.
New-Item
também pode definir o valor dos itens que ele cria. Por exemplo, quando ele cria um novo arquivo, New-Item
pode adicionar conteúdo inicial ao arquivo.
Exemplos
Exemplo 1: criar um arquivo no diretório atual
Esse comando cria um arquivo de texto chamado "testfile1.txt" no diretório atual. O ponto ('.') no valor do parâmetro Path indica o diretório atual. O texto entre aspas que segue o parâmetro Value é adicionado ao arquivo como conteúdo.
New-Item -Path . -Name "testfile1.txt" -ItemType "file" -Value "This is a text string."
Exemplo 2: Criar um diretório
Esse comando cria um diretório chamado "Logfiles" na unidade C:
. O parâmetro ItemType especifica que o novo item é um diretório, não um arquivo ou outro objeto do sistema de arquivos.
New-Item -Path "c:\" -Name "logfiles" -ItemType "directory"
Exemplo 3: Criar um perfil
Esse comando cria um perfil do PowerShell no caminho especificado pela variável $profile
.
Você pode usar perfis para personalizar o PowerShell.
$profile
é uma variável automática (interna) que armazena o caminho e o nome do arquivo do perfil "CurrentUser/CurrentHost". Por padrão, o perfil não existe, embora o PowerShell armazene um caminho e um nome de arquivo para ele.
Nesse comando, a variável $profile
representa o caminho do arquivo.
parâmetro ItemType especifica que o comando cria um arquivo. O parâmetro Force permite criar um arquivo no caminho do perfil, mesmo quando os diretórios no caminho não existem.
Depois de criar um perfil, você pode inserir aliases, funções e scripts no perfil para personalizar o shell.
Para obter mais informações, consulte about_Automatic_Variables e about_Profiles.
New-Item -Path $profile -ItemType "file" -Force
Exemplo 4: criar um diretório em um diretório diferente
Este exemplo cria um novo diretório Scripts no diretório "C:\PS-Test".
O nome do novo item de diretório, "Scripts", está incluído no valor do parâmetro caminho
New-Item -ItemType "directory" -Path "c:\ps-test\scripts"
Exemplo 5: Criar vários arquivos
Este exemplo cria arquivos em dois diretórios diferentes. Como Caminho usa várias cadeias de caracteres, você pode usá-la para criar vários itens.
New-Item -ItemType "file" -Path "c:\ps-test\test.txt", "c:\ps-test\Logs\test.log"
Exemplo 6: Usar curingas para criar arquivos em vários diretórios
O cmdlet New-Item
dá suporte a curingas no parâmetro Path. O comando a seguir cria um arquivo
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
O cmdlet Get-ChildItem
mostra três diretórios no diretório C:\Temp
. Usando curingas, o cmdlet New-Item
cria um arquivo temp.txt
em todos os diretórios no diretório atual. O cmdlet New-Item
gera os itens que você criou, que são canalizados para Select-Object
para verificar os caminhos dos arquivos recém-criados.
Exemplo 7: Criar um link simbólico para um arquivo ou pasta
Este exemplo cria um link simbólico para o arquivo Notice.txt na pasta atual.
$link = New-Item -ItemType SymbolicLink -Path .\link -Target .\Notice.txt
$link | Select-Object LinkType, Target
LinkType Target
-------- ------
SymbolicLink {.\Notice.txt}
Neste exemplo,
A partir do PowerShell 7.1, agora você pode criar um SymbolicLink para uma pasta no Windows usando um caminho relativo.
Exemplo 8: Usar o parâmetro -Force para tentar recriar pastas
Este exemplo cria uma pasta com um arquivo dentro. Em seguida, tenta criar a mesma pasta usando -Force
. Ele não substituirá a pasta, mas simplesmente retornará o objeto de pasta existente com o arquivo criado intacto.
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
Exemplo 9: Usar o parâmetro -Force para substituir arquivos existentes
Este exemplo cria um arquivo com um valor e recria o arquivo usando -Force
. Isso substitui o arquivo existente e ele perderá seu conteúdo, como você pode ver pela propriedade 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
Nota
Ao usar New-Item
com a opção -Force
para criar chaves do Registro, o comando se comportará da mesma forma que ao substituir um arquivo. Se a chave do Registro já existir, a chave e todas as propriedades e valores serão substituídos com uma chave vazia do Registro.
Parâmetros
-Confirm
Solicita a confirmação antes de executar o cmdlet.
Tipo: | SwitchParameter |
Aliases: | cf |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Credential
Nota
Esse parâmetro não tem suporte para nenhum provedor instalado com o PowerShell. Para representar outro usuário ou elevar suas credenciais ao executar esse cmdlet, use Invoke-Command
.
Tipo: | PSCredential |
Cargo: | Named |
Valor padrão: | Current user |
Obrigatório: | False |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-Force
Força esse cmdlet a criar um item que grava em um item somente leitura existente. A implementação varia de provedor para provedor. Mesmo usando o parâmetro Force, o cmdlet não pode substituir restrições de segurança.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-ItemType
Especifica o tipo especificado pelo provedor do novo item. Os valores disponíveis desse parâmetro dependem do provedor atual que você está usando.
Se sua localização estiver em uma unidade de FileSystem
, os seguintes valores serão permitidos:
- Arquivo
- Diretório
- SymbolicLink
- Junção
- HardLink
Nota
Criar um tipo de SymbolicLink
no Windows requer elevação como administrador. No entanto, o Windows 10 (build 14972 ou mais recente) com o Modo de Desenvolvedor habilitado não requer mais elevação criando links simbólicos.
Em uma unidade de Certificate
, estes são os valores que você pode especificar:
- Provedor de certificados
- Certificado
- Loja
- StoreLocation
Para obter mais informações, consulte about_Providers.
Tipo: | String |
Aliases: | Type |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-Name
Especifica o nome do novo item. Você pode especificar o nome do novo item no de Nome do
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-Path
Especifica o caminho do local do novo item. O padrão é o local atual quando de Caminho é omitido. Você pode especificar o nome do novo item em Nameou incluí-lo no Path. Os nomes de itens passados usando o parâmetro nome do
Para esse cmdlet, o parâmetro Path funciona como o parâmetro LiteralPath de outros cmdlets.
Caracteres curinga não são interpretados. Todos os caracteres são passados para o provedor do local. O provedor pode não dar suporte a todos os caracteres. Por exemplo, você não pode criar um nome de arquivo que contenha um caractere asterisco (*
).
Tipo: | String[] |
Cargo: | 0 |
Valor padrão: | Current location |
Obrigatório: | False |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-Value
Especifica o valor do novo item. Você também pode redirecionar um valor para New-Item
.
Tipo: | Object |
Aliases: | Target |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Tipo: | SwitchParameter |
Aliases: | wi |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Entradas
Você pode redirecionar um valor para o novo item para este cmdlet.
Saídas
Esse cmdlet retorna o item que ele cria.
Observações
New-Item
foi projetado para trabalhar com os dados expostos por qualquer provedor. Para listar os provedores disponíveis na sessão, digite Get-PsProvider
. Para obter mais informações, consulte about_Providers.