Você tem várias pastas e deseja criar uma nova, mas não sabe se essa pasta já existe ou não? Este processo pode demorar muito porque primeiro você vai procurar aquela pasta, exista ou não, e depois criá-la se ela não existir.
Surpreendentemente, o PowerShell pode economizar muito tempo e esforço se você souber um pouco de script.
Aguentar! Você não precisa aprender todo o script para essa tarefa. Porque forneci cinco métodos para criar uma pasta, caso ela não exista, com uma explicação adequada de cada comando usado nela.
Esboço rápido:
- Verifique se a pasta já existe no PowerShell
- Crie uma nova pasta no PowerShell
- Crie uma pasta se não existir no PowerShell
- Usando caminho de teste
- Usando Get-Item
- Usando Get-ChildItem
- Usando Test-Path e Mkdir
- Usando [System.IO.File]::Exists()
- Dica bônus: crie uma pasta se ela já existir no PowerShell
- Conclusão
Antes de passar para os scripts, vamos aprender como verificar se uma pasta existe ou não e, em seguida, um método para criar uma pasta no PowerShell.
Verifique se a pasta já existe no PowerShell
O Caminho de teste O comando é usado para verificar se a pasta já existe no PowerShell. Para verificar se a pasta existe, o caminho da pasta é especificado para o comando Test-Path, usando o comando -Caminho parâmetro. Em troca, o comando Test-Path retorna Verdadeiro valor se existir, e Falso se não existir.
Por exemplo, vamos verificar se a pasta especificada existe ou não usando o Caminho de teste comando:
Caminho de teste -Caminho 'C:\Documento'
Para verificar a existência da pasta, primeiro especifique o Caminho de teste comando e forneça o caminho da pasta usando o -Caminho parâmetro:
A saída é Falso porque a pasta especificada não existe.
Crie uma nova pasta no PowerShell
O Novo item comando cria uma nova pasta no PowerShell. Para criar um diretório, forneça o caminho do diretório para o comando New-Item usando o -Caminho parâmetro. O mais importante é usar o -Tipo de item parâmetro para criar uma pasta e especificar o Diretório valor. Se você não especificar o parâmetro -ItemType e o valor Directory, o comando New-Item criará um arquivo em vez de uma pasta.
Por exemplo, vamos criar uma nova pasta usando o Novo item comando no PowerShell:
Novo item -Caminho 'C:\Documento' -Tipo de item DiretórioPara criar uma nova pasta:
- Primeiro, use o Novo item comando e especifique o caminho da pasta a ser criada para o -Caminho parâmetro.
- Depois disso, especifique o Diretório valor para o -Tipo de item parâmetro para instruir o console a criar uma pasta em vez de um arquivo:
A nova pasta foi criada e seu horário de criação também está visível na saída acima.
Crie uma pasta se não existir no PowerShell
Pela consulta, pode-se observar que será um se-outro cenário, que afirma que se a pasta não existir, crie uma nova pasta. Existem cinco métodos para criar uma pasta se ela não existir no PowerShell, e cada método envolve o cenário de condição if-else.
Solução rápida
Aqui está a solução rápida para criar uma pasta se ela não existir no console do PowerShell:
se ( -não ( Caminho de teste -Caminho 'C:\NovaPasta' ) ) { Novo item -Caminho 'C:\NovaPasta' -Tipo de item Diretório }
O diretório especificado não existe e, portanto, foi criado.
1. Crie uma pasta se não existir no PowerShell usando Test-Path
O Caminho de teste O comando verifica a existência da pasta e informa ao console se ela existe ou não. O comando Test-Path e New-Item junto com o Se-outro condição ajuda a criar uma pasta se ela não existir no PowerShell.
Por exemplo, vamos observar este código para criar uma pasta se ela não existir usando o comando Test-Path:
se ( Caminho de teste -Caminho 'C:\NovaPasta' ) {Host de gravação 'A pasta especificada já existe'
}
outro
{
Novo item -Caminho 'C:\NovaPasta' -Tipo de item Diretório
}
Para criar uma pasta usando o Caminho de teste e Novo item comando:
- Primeiro, criamos um Se condição, onde usamos o Caminho de teste comando e especificou a pasta usando o -Caminho para verificar a existência de pastas.
- Se a pasta especificada existir, a mensagem será exibida usando o Host de gravação comando informando que a pasta já existe e o script terminará aqui.
- Caso contrário, o programa passará para a próxima seção.
- Na condição else, usamos o Novo item comando e especificou o caminho da pasta a ser criada.
- Para explicar mais claramente o console que cria uma pasta, usamos o -Tipo de item propriedade e especificou o valor Diretório :
Saída: A pasta não existe e, portanto, uma nova pasta é criada no diretório especificado.
2. Crie uma pasta se não existir no PowerShell usando Get-Item
O Obter item comando obtém o arquivo ou pasta do local especificado. O comando Get-Item também pode verificar a existência da pasta usando a condição if.
É assim que você pode criar uma pasta se ela não existir no PowerShell usando o comando Get-Item:
se ( Obter item -Caminho 'C:\Documento' -ErrorAction Ignorar ) {Host de gravação 'O arquivo já existe'
}
outro {
Novo item -Verbose 'C:\Documento' -Tipo de item Diretório
}
Para criar uma pasta se ela não existir, use o Obter item comando:
- Primeiro, crie um Se condição, onde usar o Obter item comando e especifique o caminho da pasta usando o -Caminho parâmetro para verificar se já existe ou não.
- Além disso, use o -ErrorAction parâmetro e especifique o Ignorar valor para ignorar erros que podem ocorrer durante a execução do código.
- Se a pasta já existir o console exibirá a mensagem dizendo que a pasta já existe usando o Host de gravação comando.
- Se a pasta não existir o programa irá para a condição else onde a nova pasta será criada.
- Na condição else, use o Novo item comando, especifique o caminho da pasta a ser criada e use o -Tipo de item parâmetro com o valor Diretório especificado para ele.
- Ao lado, especifique o -verboso parâmetro para obter resultados mais detalhados:
A captura de tela confirma que a pasta especificada não existe e, portanto, uma nova pasta foi criada.
3. Crie uma pasta se não existir no PowerShell usando Get-ChildItem
O Get-ChildItem comando obtém os arquivos ou pastas do diretório fornecido. Ele pode ser usado com o comando New-Item e a condição If-else para criar uma pasta se não existir no PowerShell.
Aqui está o código de exemplo para criar uma pasta se ela não existir com o auxílio do comando Get-ChildItem:
se ( Get-ChildItem -Caminho 'C:\Documento' -ErrorAction Ignorar ){
Host de gravação 'A pasta já existe'
}
outro
{
Novo item 'C:\Documento' -Tipo de item Diretório
}
Observação: A explicação do código para o trecho acima é a mesma do Obter item comando, exceto o Get-ChildItem comando:
A pasta especificada não existe e, portanto, uma nova pasta foi criada.
4. Crie uma pasta se não existir no PowerShell usando Test-Path e Mkdir
O mkdir comando cria uma pasta no PowerShell. Tem um apelido médico , que também funciona da mesma forma que o comando Mkdir. Este comando também pode criar uma pasta, se não existir, com a combinação do comando Test-Path e da condição if-else.
Aqui está o exemplo de criação de uma pasta se não existir no PowerShell usando md e comando Test-Path:
se ( Caminho de teste -Caminho 'C:\Pasta' ) {Host de gravação 'A pasta já existe'
}
outro
{
médico 'C:\Pasta'
}
Para criar uma pasta se ela não existir:
- Primeiro, crie o Se condição e especifique o Caminho de teste comando junto com a pasta para verificar se ela existe ou não.
- Se a pasta existir, termine o código aqui e imprima a pasta que já existe.
- Caso contrário, crie uma pasta usando o médico comando especificando o nome e o caminho da pasta:
A saída mostra que a pasta não existe e, portanto, uma nova pasta foi criada.
5. Crie uma pasta se não existir no PowerShell usando [System.IO.File]::Exists()
O [System.IO.File]::Exists() O comando verifica se a pasta especificada existe ou não. Ele pode criar a pasta no PowerShell se não existir com a combinação da condição if-else e do comando New-Item.
É assim que você pode criar uma pasta se ela não existir no PowerShell usando o comando [System.IO.File]::Exists():
se ( [ System.IO.Diretório ] ::Existe ( 'C:\Documentos' ) ){
Host de gravação 'A pasta já existe'
}
outro
{
Novo item 'C:\Documentos' -Tipo de item Diretório
}
No código acima:
- Primeiro, crie um Se condição e especifique o [System.IO.Directory]::Exists(Caminho da Pasta) comando dentro dele para verificar se essa pasta existe ou não.
- Se o diretório for encontrado, o console imprimirá que a pasta existe.
- Caso contrário, ele criará essa pasta usando o Novo item comando:
A pasta especificada não existe e uma nova pasta é criada usando o comando New-Item.
Dica bônus: crie uma pasta se ela já existir no PowerShell
O -Força parâmetro com o Novo item O comando é usado para substituir uma pasta existente no PowerShell. O parâmetro -Force substitui um item existente no caminho especificado no PowerShell. Para criar uma pasta, caso ela já exista, basta adicionar o parâmetro -Force junto com o comando New-Item.
É assim que você pode substituir uma pasta existente:
Novo item -Caminho 'C:\Documento' -Tipo de item Diretório -ForçaPara criar uma pasta se ela já existir no PowerShell:
- Primeiro, use o comando New-Item e especifique a pasta a ser criada usando o parâmetro -path.
- Em seguida, use o parâmetro -ItemType e especifique o valor para instruir o console a criar uma pasta.
- Por último, para substituir uma pasta existente use o parâmetro -Force:
A pasta foi substituída com sucesso no caminho especificado.
Conclusão
Para criar uma pasta caso ela não exista, primeiro verifique a existência da pasta usando o Caminho de teste comando. Então, use o Novo item comando para criar uma pasta, se ela não existir. Para realizar esta operação de uma só vez, você precisa usar o se-outro condição junto com o comando Test-Path e o comando New-Item, que já demonstrei no Método 1 deste artigo.