Matrizes do PowerShell: como criá-las e usá-las
As variáveis são a estrutura de dados mais básica em qualquer tipo de codificação(any type of coding) . Mas variáveis únicas dificilmente são suficientes para a maioria dos propósitos, especialmente quando se trata de algoritmos mais complexos.
É aí que entram os arrays. Seja C++ ou Python , os arrays estão presentes em todas as linguagens de programação de alguma forma. Mas e o Windows PowerShell ? Como funcionam as matrizes do PowerShell ? Como você os usa? Qual é a sintaxe deles? Vamos descobrir.
Matrizes do PowerShell 101
Simplificando(Simply) , um array é apenas uma coleção estruturada de variáveis. A ideia é eliminar o incômodo de manter o controle de dezenas de nomes ao recolher variáveis relacionadas em um conjunto numerado.
No PowerShell , você pode criar uma variável anexando o símbolo $ a um nome de variável. Por exemplo:
$prime = 13
A variável pode conter qualquer tipo de dados, de números a strings. Você só precisa usar aspas duplas ou simples para especificar uma string.
$name = “Levin”
Agora, para criar um novo array, basta atribuir vários valores à mesma variável, separados por vírgulas. Assim:
$week = “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”
Algumas pessoas preferem converter explicitamente uma variável em uma matriz para evitar confusão, embora isso não seja necessário. Para fazer isso, coloque os valores entre parênteses precedidos pelo símbolo @.
$week = @(“Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”)
Isso geralmente é útil ao tentar colocar a saída de outros comandos em uma matriz, onde você não pode escrevê-los manualmente no formato correto.
Criando uma matriz
Já vimos o método mais comum de criar um array. Mas dependendo da situação, existem outras formas que podem ser mais adequadas. Por exemplo, se você deseja criar uma matriz que contém um intervalo de números, você pode usar o operador de intervalo:
$digits = (0..9)
Isso criará uma matriz de todos os dez dígitos de zero a nove. Você também pode inicializar uma matriz vazia, caso queira apenas um local para armazenar valores posteriormente.
$values = @()
Várias(Multiple) matrizes podem até ser aninhadas umas nas outras, embora esse tipo de uso possa ficar confuso muito rapidamente.
$coordinates = @(
(5, 10, 23),
(11, 7, 16)
)
Por padrão, um array pode armazenar qualquer tipo de variável, seja números, strings ou uma mistura de ambos. Mas você pode definir explicitamente um tipo caso queira limitar os valores colocados nele. Por exemplo:
[int[]] $numbers = 2,3,4,5
Desta forma, a matriz só pode conter números inteiros. A tentativa de atribuir qualquer outro tipo de valor a ele retornará um erro. Isso pode ser útil para evitar erros simples para arrays que trabalham exclusivamente com valores numéricos, pois inserir uma string em uma variável a ser usada em cálculos criará problemas.
Acessando matrizes
Até agora vimos vários métodos para criar arrays contendo vários tipos de dados. Mas como você acessa esses dados?
As matrizes do PowerShell(PowerShell) usam o mesmo formato usado por outras linguagens de programação. Cada variável de array pode ser acessada por seu número de índice. Por exemplo:
$var = $numbers[5]
Isso copiará o valor armazenado no índice cinco da matriz $numbers na variável $varObserve que os índices de matriz começam a contar a partir de 0, portanto, o primeiro item é acessado com zero.
Se fôssemos produzir isso, por exemplo:
“$days[2]”
Teremos quarta-feira, não terça-feira.
Você também pode usar esse mesmo método para modificar esses valores. Por exemplo, o comando a seguir alterará o segundo elemento da matriz para zero:
$numbers[1] = 0
Você também pode adicionar mais elementos a uma matriz existente em vez de alterar os valores das entradas atuais apenas adicionando-as como uma expressão aritmética.
$names += “Johny”
Este método pode ser usado para adicionar várias entradas de uma só vez, ou até mesmo arrays inteiros.
$names += “Charlie, Liam, Teresa”
$names += $surnames
O método separado por vírgula também serve para acessar vários elementos de matriz. Digitar isso, por exemplo, armazena os primeiros cinco elementos de $days em $weekdays .
$weekdays = $days[0,1,2,3,4]
Iterando por meio de arrays
Acessar manualmente elementos específicos de um array é muito bom, mas se você quiser executar ações em todo o conteúdo de um array, pode ser tedioso. Uma abordagem mais elegante é usar um loop For.
For loops podem passar sistematicamente por todos os elementos de um array, processando cada valor de acordo com as instruções. É assim que você pode construir esse loop:
For ($i = 0 ; $i -lt $days.Length ; $i++){
$days[$i]}
A função array.Length retorna o tamanho do array, que é basicamente o número de elementos nele. Isso pode ser conectado ao parâmetro de expressão de teste de um loop For para iterar de forma abrangente sobre todos os elementos.
O loop Foreach e o loop Foreach -object podem fazer o mesmo com um script do PowerShell ainda mais enxuto.(PowerShell)
Foreach ($day in $days){
$day}
Isso economiza o esforço de determinar o tamanho da matriz, deixando os detalhes para o PowerShell manipular.
Quando você deve usar matrizes do PowerShell(PowerShell Arrays)
A maior fonte de bugs em um script complexo são as variáveis referenciadas incorretamente. Isso acontece devido à presença de um grande número de variáveis com nomes exclusivos, o que dificulta a lembrança de sua finalidade.
A correção mais simples para esse problema é usar matrizes extensivamente. Todas as variáveis relacionadas de alguma forma podem ser atribuídas a um único array e acessadas através de seus números de índice.
O principal caso de uso do Microsoft PowerShell(Microsoft PowerShell’s) é a automação, e os arrays desempenham um papel fundamental nisso. Os objetos retornados pelos cmdlets do PowerShell podem ser armazenados em matrizes e iterados. Isso permite que tarefas sequenciais sejam executadas automaticamente, simplificando bastante a administração do sistema.
Related posts
Como criar e usar uma unidade USB de recuperação do Windows 11
Como Delete ou criar uma tarefa agendada com PowerShell em Windows 11
Por que meu PC não é compatível com Windows 11? Use WhyNotWin11!
Como adicionar o menu de contexto Criar ponto de restauração no Windows 11
Prompt de comando vs PowerShell: prós e contras
Chipsets e placas-mãe que suportam o Windows 11 operating system
Como instalar o Windows Subsystem para Linux no Windows 11
Windows 11 para Business and Enterprise - New
Como adicionar ou remover pastas de Windows 10/11 Start Menu
Como listar todos os serviços do Windows usando o PowerShell ou a linha de comando
Não é possível alternar Windows Insider Channel em Windows 11 - Dev ou Beta
Como obter Windows 11 Insider Preview Build agora
Stop minimizing Windows quando um monitor é desconectado no Windows 11
Como alterar o Taskbar size no Windows 11
Como cortar PDF Pages em Windows 11 usando ferramenta on-line ou software livre
Qual Edition de Windows 11 você será atualizado para?
Como ajustar Webcam Brightness em Windows 11
Click aqui para introduzir a sua mais recente mensagem de credenciais em Windows 11
Como habilitar ou desativar Snap Layouts no Windows 11
Como fixar qualquer app para o Taskbar em Windows 11