Quais ferramentas e linguagens estão disponíveis para scripts de shell do Windows?

StackOverflow https://stackoverflow.com/questions/32087

  •  09-06-2019
  •  | 
  •  

Pergunta

Quero saber quais são as opções para realizar alguns trabalhos de script na plataforma Windows.Preciso de funcionalidades como manipulação de arquivos, edição de registro, etc.Os arquivos podem ser editados usando ferramentas de script?Que outras funcionalidades as ferramentas de script do Windows oferecem?Tudo o que pode ser feito usando a GUI do Windows pode ser feito usando uma linguagem de script?

Foi útil?

Solução

Eu penso Windows PowerShell da Microsoft é o favorito atual para esse tipo de coisa.

Outras dicas

Pode valer a pena dar uma olhada no pré-lançamento da versão 2.0.Muita coisa mudou:

http://blogs.msdn.com/powershell/archive/2007/11/06/what-s-new-in-ctp-of-powershell-2-0.aspx

Que tal instalar uma versão Windows do Pitão, Perl ou seu idioma favorito?Eles devem oferecer todas as funcionalidades de que você precisa.

Arquivos em lote são os mais portáteis, mas fazer coisas complicadas pode ser difícil (muito difícil).

O Powershell é incrivelmente - hum - poderoso, mas o domínio instalado no momento é apenas um pouco maior do que o das pessoas que gostam de usar o PowerShell e os servidores que eles administram.Se você controla as máquinas nas quais está criando scripts e pode exigir que o PowerShell seja instalado, o PowerShell é o caminho a seguir.Caso contrário, os arquivos em lote são a melhor maneira.

O Powershell permite que você faça qualquer coisa que possa ser feita, mas algumas coisas serão mais difíceis que outras :)

(Sério, se você deseja controlar um aplicativo GUI do Windows a partir de um script, você terá muita dor de cabeça, a menos que o aplicativo suporte o script em si, ou você deseja começar a postar mensagens nos controles de diálogo e copiar a tela da caixa de diálogo para verificar para sucesso.)

Eu recomendaria "Assumir o Comando" (JPSoft), que é mais parecido com "cmd.exe" do que com o PowerShell.Usamos aqui na ESSS há anos.

CScript?Lembro-me de ter visto algo assim.

O Powershell é bom, mas é uma coisa extra que você precisa instalar.Não é padrão em quase todas as instalações do Windows.Portanto, se for apenas para seu próprio uso, o PowerShell deve servir.Se você precisar que os scripts sejam executados nos computadores da população em geral, por exemplo, como parte de um software que você está produzindo, essa pode não ser a melhor opção.

Se você concorda com algo extra que precisa instalar, você pode querer dar uma olhada no cygwin.Isso permite que você tenha uma linha de comando bash completa do Linux e todas as ferramentas associadas à sua disposição.

Se você precisar de algo incluído em uma instalação padrão do Windows.Existe a linha de comando do Windows (cmd.exe).Que tem algumas funcionalidades, mas é muito deficiente comparado ao que está disponível no Linux.O outro problema, provavelmente pior, é que não há muita documentação disponível.

Você também pode estar interessado em VB Script (flame away).O VB Script deve funcionar em quase todas as instalações padrão recentes do Windows e é muito mais funcional do que a linha de comando.

Eu tenho o cygwin instalado, então posso executar scripts bash shell para minhas necessidades de automatização.Além disso, quando preciso de coisas rodando menos nativamente no Windows, eu uso uma combinação de batch + jscript (roda no cmdline se você tiver o Visual Studio.Net instalado, basta chamar "cscript XXX.js").

O script é uma explosão.

Pessoalmente, gosto de escrever alguns pequenos arquivos em lote malvados.Você pode encontrar um programa de linha de comando para fazer praticamente qualquer coisa.Eu prefiro arquivos em lote principalmente porque eles são portáteis de uma máquina para outra com no máximo um zip com algumas ferramentas unix (SSED, GREP, GAWK).existe uma linha de comando REG.Exe que pode até fazer alterações e leituras no Registro.Você pode analisar a saída dos comandos com um loop "FOR /f".

PowerShell tem mais...errar.. Poder (Segunda postagem em que escrevi isso, mas não consigo evitar.)

Se você quiser dar uma olhada na automação do Windows, confira AutoHotKey.

O que você está tentando automatizar?Isso pode nos ajudar a definir o que seria útil.

  • Josh

EDITAR:só para constar, digitei isso ao mesmo tempo que @jameso. Se alguém no trabalho não tivesse me feito uma pergunta, posso ter postado antes dele.Mas senti um arrepio com a semelhança do post....

Powershell pode fazer o que você precisa.

manipulações de arquivos

Esse Então poste responde como você pode substituir uma string em seu arquivo de texto.Colando aqui para facilitar a referência:

(Get-Content c:\temp\test.txt).replace('[MYID]', 'MyValue') | Set-Content c:\temp\test.txt

Existem outras coisas que você pode fazer, como copiar arquivos e pastas.Você pode saber mais no Documentação do Windows Powershell

edição de registro

Isso pode ser feito facilmente usando o Powershell.Aqui está um exemplo de código de Blogs de desenvolvedores da Microsoft:

Set-ItemProperty -Path HKCU:\Software\hsg -Name newproperty -Value anewvalue

Ontem eu poderia ter consertado isso para você ;)

Quais são todas as ferramentas/linguagens para scripts do Windows Shell?

Leria melhor como

Quais ferramentas e idiomas estão disponíveis para scripts do Windows Shell?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top