NirCmd um plugin poderoso para seu cmd

Por DanielNC

O que ser isto?

NirCmd é um command-line, desenvolvido pela NirSoft, para facilitar e ampliar o uso das funcionalidades que o terminal te oferece, podendo fazer uma tarefa útil sem a necessidade de utilizar uma interface apenas linhas de comando.

Pelo nome pode ser que se confunda com um malware ou virus, pois é o nome dado á alguns arquivos de malware para facilitar a disseminação pela internet e para se camuflar com este título, principalmente quando estão localizados nas pastas C:\Windows ou C:\Windows\System32.

Isso ocorre pelo fato de que com o NirCmd, além de outras utilidades, permitir escrever e deletar valores e chaves no registro de se computador e podendo, com o mal uso,fazer alterações no registro indesejáveis que sejam capazes de danificar o PC.

Alem de alterar o registro, através de comandos simples e possível escrever em arquivos INI, conectar-se com uma rede VPN, reinicie o Windows ou desligue o computador, crie atalho para um arquivo, altere a data de um arquivo, altere suas configurações de exibição, fala , abra a porta do sua unidade de CD-ROM e várias outros mais.

Como instalar

Para obter esta ferramenta esta disponível no fim desta pagina do site da Nirsof.
Depois de baixar o arquivo zipado, extraia-o que irá obter dois .exe juntamente com um arquivo de ajuda listando várias funções do NirCmd.

Copie nircmd.exe para C: Windows System32 ou qualquer outra pasta que é especificado na variável de ambiente PATH.

Depois disso é so aproveitar esta graúda ferramenta, podendo usar os comandos direto pelo terminal ou com um arquivo Batch.
O NirCmd é limitado o uso para o Windows, pois não encontrei para outros OS, mas para Linux tem algo mais próximo seria o Xdialog, mas muito limitado.

Faça valer

Com tantas funcionalidades, é so usar a sua criatividade, que terá a disposição milhões de tarefas que poderá fazer, e ter o controle do windows.

Para começar algumas instruções básicas que pode fazer, e que é bem intuitivo se sabe o significado das palavras.
Como irá notar todos comandos comados começam com nircmd.exe, pode ser também nircmd apenas. Logo depois do nircmd vem o que deseja fazer.

Caixa de informação, ~n(\n, enter), ~q(") :
nircmd infobox "o primeiro parametro vai aqui: ~$param.1$ ~nO segundo esta no ~qtitulo~q" ~$param.2$

As variáveis são declaradas com til e entre cifrão ~$variável$.
É possível criar executáveis para fazer tarefas. Ligar e desligar o som:
nircmd cmdshortcut "~$folder.desktop$" "Switch Volume" mutesysvolume 2

Pode reproduzir textos no idioma do seu cmd. Para fazer falar o que copiou, se for um texto:
nircmd speak text ~$clipboard$

Pode gerenciar pastas de forma ágil. Neste são criadas, na area de trabalho, as pastas descritas, e separadas por espaço(" "), no arquivo pastas.txt. 
nircmd paramsfile "c:\temp\pastas.txt" "" "" execmd md ~$fparam.1$

Pode mudar a disposição dos programas na tela, neste exemplo todos iram ser centralizados na tela.
nircmd win center alltop

Interagir com caixa de dialogo. Responde todas que estão abertas: 
nircmd dlg "" "" click yes

Espera...
nircmd wait 10000

Identificar programas pelo título, neste caso para fechar todos .txt.
nircmd win close ititle ".txt"

O nir também pode fazer laço, no caso foram definidos quantidade(5) e tempo(2 segundos),Salvar prints da tela na pasta e com o nome que desejar
nircmd loop 5 2000 savescreenshot c:\temp\scr~$loopcount$-~$currtime.HH_mm_ss$.png
Emitir beep podendo definir a frequência e o tempo, respectivamente.
nircmd loop 10 500 beep 3000 100

Pode utilizar remotamente com o comando remote e para mais de um PC multiremote.
nircmd remote \\comp2 infobox "This is a message from NirCmd" "Hello !"

E muitos outros coisas que podem ser vista no arquivo de ajuda e no site de referencias
listados.

Compatibilidade total 

Combinando com outros programas e comandos pode se tornar ainda mais poderosa esta ferramenta. Como um simples exemplo é possível utilizar o editor de texto Sublime.

Para fazer com que ao rodar um programa em C, por exemplo, o terminal apareça onde desejar e do tamanho a escolha, só precisa acrescentar o comando do Nir no build do Sublime.

nircmd win setsize ititle "cmd.exe" x y largura altura

comando este que seta a posição de todas as telas que contem no título(ititle) o que é passado entre aspas, neste caso cmd.exe.
Para coloca-lo no Sublime é necessário criar um novo construtor.(Tool->Build System->New Build System...)

Vai abrir uma nova aba com uma chamada da função make utilizando o makefile, e você acrescenta este comando após o make, desta forma:
"shell_cmd": ["nircmd", "win", "setsize", "ititle", "cmd.exe","670", "0", "710", "400"]
Obs: Colocar uma virgula dps de "shell_cmd": "make".E pode utilizar shell_cmd ou cmd, verifique se cmd.exe contém no título da tela aberta.

No caso de não estiver utilizando o make, já faz dois em um, crie primeiro o build:

{
 "selector": "source.c",
 "cmd": ["gcc","-Wall","-ansi","-pedantic-errors","-std=c99", "$file_name", "-o", "${file_base_name}.exe","&&", "start","cmd","/k","$file_base_name"],
 "working_dir": "${file_path}",
 "shell": true
}


Teste se está funcionando e adicione o comando para definir a tela,
"cmd": ["gcc","-Wall","-ansi","-pedantic-errors","-std=c99", "$file_name", "-o", "${file_base_name}.exe","&&", "start","cmd","/k","$file_base_name","&&","nircmd", "win", "setsize", "ititle", "cmd.exe","670", "0", "710", "400"],
Obs:Se não funcionar pode ser que nircmd esteja indo mais rápido que o programa, tente colocar  "&&","nircmd","wait","100", para esperar o programa rodar.

{"cmd": ["gcc","-Wall","-ansi","-pedantic-errors","-std=c99", "$file_name", "-o", "${file_base_name}.exe","&&", "start","cmd","/k","$file_base_name", "&&","nircmd","wait","100","&&","nircmd", "win", "setsize", "ititle", "cmd.exe","670", "0", "710", "400"],"selector": "source.c","working_dir": "${file_path}","shell": true}

Código feito, agora para testa-lo, salve com o nome que desejar com final .sublime-build, e selecione o mesmo no build.(Tool->Build System->MeuC).

Isto também pode ser feito sem o editor de texto, alterando o makefile ao colocar o comando diretamente.

Aproveite seu Windows com o Nir. Guia com todos os comandos. 

Comentários

Postagens mais visitadas deste blog

Emulador de Nintendo DS para pc: DesMuMe

PPSSPP O emulador de PSP