6 motivos pelos quais o PowerShell é melhor que o tradicional CMD

Acreditem ou não, sou do tempo do MS-DOS 6.22! Na época, era necessário conhecer os fundamentos da linha de comando do MS-DOS, para operar um PC desktop e tirar proveito de tudo aquilo que ele poderia oferecer (o que não era lá grandes coisas, numa época em que o acesso a Internet era precário e os seus recursos computacionais, limitados). Felizmente, o Windows substituiu o MS-DOS e a sua “moderna” interface gráfica não só facilitou bastante as nossas vidas, como também foi a principal responsável pela popularização dos PCs desktops…

“Command Prompt (CMD) has been around since Windows NT, and almost everyone who uses Windows is familiar with it. It is a powerful CLI tool that allows you to interact with your computer using text-based commands instead of a graphical interface. CMD was introduced in the 1980s, while in 2006, Microsoft announced PowerShell, another CLI tool that’s not only cross-platform but also powerful enough to programmatically manage all modern Windows versions as well as a variety of other platforms. We discuss 6 ways PowerShell is better than CMD.”

— by XDA Developers.

Mesmo não oferecendo uma interface tão amigável, a linha de comando continua sendo fundamental para a admistração dos sistemas operacionais modernos, embora não tenha evoluido da mesma maneira que o próprio Windows. Por isto, a Microsoft resolveu criar o PowerShell (2006), uma nova ferramenta que não só substitui a arcaica linha de comando baseada no antigo (e obsoleto) MS-DOS (1980), como também integra uma série de recursos que até então, só eram encontrados em interpretadores de comando para sistemas Unix, tornando-se também (a partir da versão 6) multiplataforma! Então, quais vantagens ela pode oferecer?

Anurag Singh (editor do portal XDA Developers) publicou um artigo sobre as principais vantagens do PowerShell, em comparação com a antiga linha de comando, relacionando-as em 6 tópicos distintos. O principal destaque (embora o sistema de numeração diga o contrário) vai para o suporte multiplataforma, já que poderemos utilizá-lo no macOS e outros sistemas Unix (GNU/Linux). Embora ele não substitua as ferramentas nativas destes sistemas, o PowerShell poderá facilitar muito a colaboração entre times que utilizam diferentes sistemas operacionais, apesar de não integrar todos os recursos em vista das diferentes implementações da biblioteca .NET Core (na qual ele é baseado).

Dentre outras vantagens, está o suporte avançado para as linguagens & scripts, destacando a utilização de variáveis, estruturas de repetição, condicionais e funções, possibilitando criar scripts mais sofisticados (tal como fazemos no Bash e outros interpretadores Unix). Ele também suporta redirecionamentos da saída de comandos (como argumento para outros comandos) através do uso de pipes (|), a exibição da saída de dados de forma estruturada (tabela), integração aos serviços nativos do próprio Windows (Azure, Active Directory e Office 365) e o acesso completo para as bibliotecas .NET, permitindo o estabelecimento de conexões com banco de dados, trabalhar com APIs e aplicações WEB, lidar com operações complexas relacionadas a arquivos e manipular arquivos baseados nos formatos JSON e XML.

De fato, o PowerShell é uma ferramenta bem mais completa e sofisticada, deixando o limitado CMD no chinelo! Apesar de admirá-lo bastante, confesso que já tive algumas dificuldades em operá-lo, já que ele se tornou uma ferramenta importante para a administração das aplicações & serviços “nas nuvens”, oferecidos pelo Microsoft Azure. Tão bom e ao mesmo tempo tão diferenciado, que mal podemos compará-lo com os interpretadores voltados para os sistemas Unix, destacando-se o GNU Bash que também se tornou poderoso e funcional, além de ser uma peça fundamental para as distribuições GNU/Linux e outros sistemas alternativos.

Mas entre o PowerShell e o Bash, sou meio “suspeito” para dizer… &;-D

Leave a Comment