Created
January 21, 2021 23:57
Quebrando o script com EXIT
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Limpamos a tela para facilitar a visualização | |
Clear-Host | |
# Receber o local e armazenar em uma variável chamada Local | |
$Local = Read-Host "Informe o local onde quer criar a pasta" | |
# Receber o nome da pasta e armazenar na variável nomePasta | |
$nomePasta = Read-Host "Informe um nome para a pasta" | |
try { | |
# Vamos começar com as validações | |
$listaPastas = Get-ChildItem -Path $Local -Directory # Recebemos todas as pastas dentro de um caminho, junto com todas as informações dela | |
# Como podemos ter varias pastas, teremos que criar um loop, verificando item a item de nossa lista | |
foreach ($pasta in $listaPastas) { | |
$pasta = $pasta.name # Como queremos validar apenas o nome da pasta, utilizaremos apenas a propriedade NAME | |
# Para compararmos valores, utilizamos o parametro -eq | |
if ($nomePasta -eq $pasta) { | |
$pastaValidacao = "Existe" # Se encontrarmos uma pasta com o mesmo nome, atribuimos o valor Existe para nossa variavel de validacao | |
} | |
} | |
} | |
catch { | |
# Recebemos a mensagem de erro e armazenamos em uma variavel | |
$mensagemErro = $_.Exception.Message | |
# Limpamos a tela e exibimos a mensagem de erro | |
Clear-Host | |
Write-Host "Erro ao tentar criar a pasta $nomePasta" | |
Write-Host "$mensagemErro" | |
Pause # Utilizamos isso para aguardarmos um retorno do usuario | |
Exit # Encerramos o terminal | |
} | |
# Se ela já existe, exibimos uma mensagem de erro | |
if ($pastaValidacao -eq "Existe") { | |
# Informamos que a pasta já existe | |
Clear-Host # Limpamos a tela para deixar mais bonito | |
Write-Host "A pasta $nomePasta já existe no caminho $Local" | |
} | |
# Se a pasta nao existe, executamos o bloco de codigo | |
else { | |
# Executar o comando de criação de pasta | |
New-Item -Path "$Local/$nomePasta" -ItemType "Directory" | |
# Mostrar mensagem de confirmação na tela | |
Clear-Host # Limpamos a tela para deixar mais bonito | |
Write-Host "A pasta $nomePasta foi criada em $Local" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment