O PowerShell é mais complicado que o prompt de comando tradicional, mas também é muito mais poderoso. O Prompt de Comando é dramaticamente inferior aos shells disponíveis para Linux e outros sistemas semelhantes ao Unix, mas o PowerShell compete favoravelmente. Além disso, a maioria dos comandos do Prompt de Comando pode ser usada no PowerShell, seja nativamente ou por meio de aliases.
Como o PowerShell difere do prompt de comando
O PowerShell é realmente muito diferente do Prompt de Comando. Ele usa comandos diferentes, conhecidos como cmdlets no PowerShell. Muitas tarefas de administração do sistema - desde o gerenciamento do registro até o WMI (Windows Management Instrumentation) - são expostas por meio dos cmdlets do PowerShell, embora não estejam acessíveis no Prompt de Comando.
O PowerShell faz uso de pipes - assim como o Linux - que permitem passar a saída de um cmdlet para a entrada de outro cmdlet. Assim, você pode usar vários cmdlets em sequência para manipular os mesmos dados. Ao contrário dos sistemas semelhantes ao Unix - que podem apenas canalizar fluxos de caracteres (texto) - o PowerShell canaliza objetos entre os cmdlets. E praticamente tudo no PowerShell é um objeto, incluindo todas as respostas obtidas de um cmdlet. Isso permite que o PowerShell compartilhe dados mais complexos entre os cmdlets, operando mais como uma linguagem de programação.
O PowerShell não é apenas uma casca. É um poderoso ambiente de script que você pode usar para criar scripts complexos para gerenciar sistemas Windows com muito mais facilidade do que com o Prompt de Comando.
O Prompt de Comando é essencialmente apenas um ambiente legado no Windows - um ambiente que copia todos os vários comandos do DOS que você encontraria em um sistema DOS. É dolorosamente limitada, não pode acessar muitos recursos de administração do sistema Windows, é mais difícil compor scripts complexos com e assim por diante. O PowerShell é um novo ambiente para administradores de sistema do Windows que permite usar um ambiente de linha de comando mais moderno para gerenciar o Windows.
Quando você gostaria de usar o PowerShell
Então, quando um usuário comum do Windows gostaria de usar o PowerShell?
Se você raramente acionar o prompt de comando para executar ocasionalmente
ping
ou
ipconfig
comando, você realmente não precisa tocar no PowerShell. Se você se sentir mais confortável com o Prompt de Comando, não vai a lugar algum. Dito isso, a maioria desses comandos funciona muito bem no PowerShell também, se você quiser testá-lo.
No entanto, o PowerShell pode ser um ambiente de linha de comando muito mais poderoso que o Prompt de Comando. Por exemplo, mostramos a você como usar o ambiente do PowerShell incorporado no Windows para executar uma operação de pesquisa e substituição para renomear vários arquivos em uma pasta, algo que normalmente exigiria a instalação de um programa de terceiros. Esse é o tipo de coisa que os usuários do Linux sempre puderam fazer com seu ambiente de linha de comando, enquanto os usuários do Windows ficaram de fora.
Os administradores de sistema vão querer aprender o PowerShell para que eles possam gerenciar seus sistemas com mais eficiência. E se você precisar escrever um script para automatizar várias tarefas de administração do sistema, deverá fazê-lo com o PowerShell.
Equivalentes do PowerShell de Comandos Comuns
Muitos comandos comuns do Prompt de Comando - de
ipconfig
para cd
- trabalhe no ambiente do PowerShell. Isso ocorre porque o PowerShell contém “aliases” que apontam esses comandos antigos nos novos cmdlets apropriados, executando os novos cmdlets quando você digita os comandos antigos.
Analisaremos alguns comandos comuns do Prompt de Comando e seus equivalentes no PowerShell, apenas para ter uma ideia de como a sintaxe do PowerShell é diferente.
Alterar um diretório
-
DOS:
cd
-
PowerShell:
Set-Location
Listar arquivos em um diretório
-
DOS:
dir
-
PowerShell:
Get-ChildItem
Renomear um arquivo
-
DOS:
rename
-
PowerShell:
Rename-Item
Para ver se um comando do DOS tem um alias, você pode usar o comando
Get-Alias
cmdlet. Por exemplo, digitando
Get-Alias cd
mostra que
cd
está realmente executando o
Set-Location
cmdlet.