Então cara, não tenho muita experiência com o meio corporativo e nem tô mais no Windows nesse momento, mas quando usava o Windows como meu sistema principal eu comecei a escrever todos os meus scripts pessoais -- pra fazer backup de umas pastas, comprimir minhas pastas arquivadas pra depois mandar pra núvem, um pra puxar todos os meus arquivos do celular via FTP, e outros memezinhos que fiz só pra perder tempo mesmo -- acabei fazendo em Python, porque é mais simples pra mim e com isso eu garanto que esse script vai continuar funcionando tanto no Windows como no Linux, ou na máquina de algum amigo. Além do que, o Python consegue fazer muita coisa só com a standard library. Mas não é sobre isso que você quer ouvir.
A um tempo atrás eu decidi aprender um pouco sobre Powershell também pra não ter uma skill issue tão grande nessa tecnologia, documentei essa mini jornada nesse post, e acho que o Powershell vai acabar sendo útil pra ti do mesmo jeito que Python foi pra mim -- A única diferença é que eu acho que o Powershell consegue fazer ainda mais coisa, comandos como o %
e estruturas como o hash map (@{}
) são muito boas.
Em outras palavras, eu usaria o Powershell pra automatizar setup e backup, usaria o suporte a JSON, XML e CSV dele pra gerar logs e, dependendo da ocasião, criar uma interface gráfica (já que o Powershell consegue fazer isso por causa da integração com o .NET, se não me engano) pro pessoal da equipe que não está tão acostumada com a interface de linha de comando.
Sobre algum projeto, eu não tenho nenhum, mas já usei o Powershell no Windows pra trabalhar num projeto de Arduino usando o Arduino CLI. Como o Makefile
que fiz no Linux não funcionava no Windows, fiz um scriptzinho que emulasse o comportamento dele:
$Conn = New-Object System.IO.Ports.SerialPort COM9, 115200, None, 8, one
$Conn.DtrEnable = $True
$Conn.Open()
Start-Sleep -Seconds 2
while ($True) {
$Data = $Conn.ReadExisting()
if ($Data.Length -ne 0) {
Write-Host $Data
}
# These lines will allow you to exit this loop by pressing Q on your keyboard :)
if ([Console]::KeyAvailable) {
$key = [Console]::ReadKey($true).Key
if ($key -eq "q") {
break
}
}
Start-Sleep -Milliseconds 50
}
$Conn.Close()
Edit: dei uma mini pesquisada no assunto e me deparei um artigo legal que fala sobre como ler e converter arquivos/strings em Markdown pra HTML. Talvez isso seja útil pra ti OP!