07/12/2015

2015

20,1,2,19,18,3,4,17,16,5,6,15,14,7,8,13,12,9,10,11

03/12/2015

Por que tanta linha de comando?

Se você é uma das três pessoas que frequenta esse blog (fora os perdidos no Google e bots), talvez tenha notado uma certa direção nas postagens sobre linhas de comando... a verdade é que esse blog sempre teve a intenção principal de servir de base de conhecimento para mim mesmo e se ajudar alguém, é lucro.
Todas as postagens que envolvem linha de comando, seja no Linux ou no Windows, saíram de anotações que faço desde que comecei a trabalhar com sistemas.
Particularmente não gosto de repetições e tento automatizar minhas rotinas e apesar de existirem ferramentas gráficas para certas tarefas, quase sempre consigo realiza-las com mais rapidez direto no shell/cmd.
Passo algum conteúdo pra cá na medida que revisito scripts antigos e tentarei manter assim.
Vida longa aos scripts e bats!

02/12/2015

Gerenciando serviços via linha de comando no Windows

sc \\<computador> [query,start,stop] serviço
  • QUERY - mostra informações sobre o serviço incluindo o status
  • START - inicia o serviço
  • STOP - pára o serviço
É possível fazer muito mais, mas esses três comandos são de longe os mais úteis.

30/11/2015

Extrair texto de variáveis na linha de comando do Windows

%<variável>:~<primeiro_caracter>,<quantidades_de_caracteres>%
Ex.:
set teste=Olá Mundo!

echo %teste%
Olá Mundo!

echo %teste:~4,5%
Mundo

29/11/2015

Screenshots via linha de comando no Windows

Existem várias maneiras de fazer isso, mas todas dependem de algum programa externo. Na minha opnião a melhor opção é usar o utilitário NirCmd, até porque ele consegue fazer muito mais do que tirar screenshots.
A sintaxe segundo o manual é muito simples:
Ex. 1. Para capturar a tela:
nircmd.exe savescreenshot nome-da-imagem.png
Ex. 2. Para aguardar 5 segundos antes da captura:
nircmd.exe cmdwait 5000 savescreenshot nome-da-imagem.png
O valor deve ser expresso em milisegundos, ou seja, multiplique o número de segundos por 1000.
Ex. 3. Para capturar 10 screenshots com intervalo de 1 minuto (60 segundos):
nircmd.exe loop 10 60000 savescreenshot nome-da-imagem~$currdate.MM_dd_yyyy$-~$currtime.HH_mm_ss$.png
Não é necessário usar a opção cmdwait do ex. 2, pois ela já faz parte da opção loop. Os parâmetros no nome do arquivo adicionam data e hora evitando sobreescrita.
O bom do NirCmd é que você não precisa escrever nenhuma linha a mais para capturar screenshots em sequência ou com um pseudo agendamento, isso evita ter que usar o agendador de tarefas do Windows quando não é necessário um acompanhamento detalhado ou por períodos curtos de tempo.