NirCmd – Vieja herramienta para automatizar tareas
Hoy os pongo una utilidad que esta semana me ha salvado de uma tarea bastante curiosa, resulta que en un cliente tinha que corrigir una cosa en X usuarios, não conhecemos como automatizar a tarea ya que no es modificar una clave de registo, no se pode fazer por comando, ni GPO, etc… y requiere intervención del usuario. Así que curiosamente encontré una herramienta que entre muchas funcionalidades que tiene, una de ellas es la de mandar combinaciones de tecla a la pantalla, por lo que podremos abrir una app & mandarle las combinaciones de teclas que necesitemos para que marque una opción.
Hablamos de NirCmd, una herramienta ya bastante vieja que nos permitirá automatizar tareas sin la intervención del usuario, podremos modificar el registro, ficheros ini, marcar conexiones de internet/VPN, modificar fechas de ficheros, cambiar el tamaño del display, abrir la bandeja del CD… Otra gran app de NirSoft. Descargar NirCmd de su web oficial.
Por poner un ejemplo, sabemos todos que al ejecutar ‘RunDll32.exe InetCpl.cpl,ResetIEtoDefaults’ abrimos lo de restaurar las opciones del Internet Explorer, Não? Poço, con este siguiente comando veremos cómo abrir dichas opciones & como tabularemos, pulsaremos la tecla ‘R’ para que restaure & luego le dará al ‘Enter’ para aceptar:
start RunDll32.exe InetCpl.cpl,ResetIEtoDefaults ping 127.0.0.1 -w 1 -n 2 > NUL 2>&1 \PATHnircmdNirCmd.exe sendkey alt down \PATHnircmdNirCmd.exe sendkey R press \PATHnircmdNirCmd.exe sendkey alt up ping 127.0.0.1 -w 1 -n 3 > NUL 2>&1 \PATHnircmdNirCmd.exe win activate title "Reset Internet Explorer Settings” \PATHnircmdNirCmd.exe sendkey enter press
Portanto, ao executar o comando anterior, as opções do Internet Explorer serão redefinidas para o utilizador, sem perder a configuração pessoal (Para dar um exemplo). O que mais se pode fazer:
| Abrir a porta de J: Unidade de CD-ROM | nircmd.exe cdrom open j: |
| Fechar a porta de Y: Unidade de CD-ROM | nircmd.exe cdrom close y: |
| Fala o texto atualmente na área de transferência (Para Windows XP/Vista/7/8). | falar texto ~$clipboard$ |
| Fala o texto guardado no speak.txt para o ficheiro speak.wav (Para Windows XP/Vista/7/8). | falar ficheiro “c:tempspeak.txt” 0 100 “c:tempspeak.wav” 48kHz16BitStereo |
| Aumentar o volume do sistema em 2000 unidades (de 65535) | nircmd.exe changesysvolume 2000 |
| Diminuir o volume do sistema em 5000 unidades (de 65535) | nircmd.exe changesysvolume -5000 |
| Definir o volume para o valor máximo | nircmd.exe setsysvolume 65535 |
| Silenciar o volume do sistema | nircmd.exe mutesysvolume 1 |
| Ativar som no volume do sistema | nircmd.exe mutesysvolume 0 |
| Alternar o volume do sistema entre o estado de silenciado e normal. | nircmd.exe mutesysvolume 2 |
| Criar um atalho na sua área de trabalho que altere o volume do sistema entre silenciado e normal. | nircmd.exe cmdshortcut “~$pasta.desktop$” “Alternar Volume” mutesysvolume 2 |
| Desligar o monitor | nircmd.exe monitor off |
| Iniciar o protetor de ecrã predefinido | nircmd.exe screensaver |
| Colocar o computador em 'standby'’ modo | nircmd.exe standby |
| Terminar sessão do utilizador atual | nircmd.exe exitwin logoff |
| Perguntar se deseja reiniciar, e se responder 'Sim', reiniciar o computador. | nircmd.exe qboxcom “Deseja reiniciar ?” “question” exitwin reboot |
| Desligar o computador | nircmd.exe exitwin poweroff |
| Desligar todos os computadores especificados em computers.txt ! | multiremote copy “c:tempcomputers.txt” exitwin poweroff force |
| Discar para “A minha Internet” ligação | nircmd.exe rasdial “A minha Internet” |
| Desligar a “A minha Internet” ligação | nircmd.exe rashangup “A minha Internet” |
| Tornar as suas janelas do Internet Explorer 75% transparente ! (192 / 256) | nircmd.exe win trans ititle “internet explorer” 192 |
| Minimizar todas as janelas do Internet Explorer | nircmd.exe win min class “IEFrame” |
| Fechar todas as janelas do Internet Explorer | nircmd.exe win close class “IEFrame” |
| Fechar todas as janelas do Explorador (O Meu Computador, pastas, e assim por diante) | nircmd.exe win close class “CabinetWClass” |
| Ocultar todas as janelas do Internet Explorer | nircmd.exe win hide class “IEFrame” |
| Mostrar todas as janelas do Internet Explorer (depois de as ter escondido com o exemplo anterior) | nircmd.exe win show class “IEFrame” |
| Centralizar todas as janelas de topo | nircmd.exe win center alltop |
| Remover a barra de título da janela do Meu Computador. | nircmd.exe win -style title “o meu computador” 0x00C00000 |
| Restaurar a barra de título da janela do Meu Computador que removemos no exemplo anterior. | nircmd.exe win +style title “o meu computador” 0x00C00000 |
| Set the My Computer window to right-to-left order (For hebrew and arabic languages) | nircmd win +exstyle title “o meu computador” 0x00400000 |
| Set all child windows of My Computer window to right-to-left order (For hebrew and arabic languages) | nircmd win child title “o meu computador” +exstyle all 0x00400000 |
| Create a shortcut on your desktop that closes all your Internet Explorer windows | nircmd.exe cmdshortcut ” “~$pasta.desktop$ “Close All IE” win close class “IEFrame” |
| Create a shortcut on your desktop that hides all your Internet Explorer windows | nircmd.exe cmdshortcut ” “~$pasta.desktop$ “Hide All IE” win hide class “IEFrame” |
| Create a shortcut on your desktop that shows back all your Internet Explorer windows | nircmd.exe cmdshortcut ” “~$pasta.desktop$ “Show All IE” win show class “IEFrame” |
| Set the Windows Calculator as top-most window (above all other windows) | nircmd.exe win settopmost title “Calculator” 1 |
| Set the Windows Calculator back to regular window (non top-most window) | nircmd.exe win settopmost title “Calculator” 0 |
| Create a shortcut to Windows calculator under Start Menu->Programs->Calculators | atalho nircmd.exe “f:winntsystem32calc.exe” “~$folder.programs$Calculadores” “Calculadora do Windows” |
| Ocultar a janela da área de trabalho | nircmd.exe win hide class progman |
| Mostrar a janela da área de trabalho (Após a ocultação no exemplo anterior) | nircmd.exe win show class progman |
| Ocultar o botão Iniciar na barra de tarefas | nircmd.exe win child class “Shell_TrayWnd” ocultar class “botão” |
| Mostrar o botão Iniciar na barra de tarefas | nircmd.exe win child class “Shell_TrayWnd” mostrar class “botão” |
| Ocultar o relógio na barra de tarefas | nircmd.exe win child class “Shell_TrayWnd” ocultar class “TrayClockWClass” |
| Mostrar o relógio na barra de tarefas | nircmd.exe win child class “Shell_TrayWnd” mostrar class “TrayClockWClass” |
| Matar (terminar) todas as instâncias do processo do Internet Explorer | nircmd.exe killprocess iexplore.exe |
| Criar um atalho na área de trabalho que abre o porta do K: unidade CDROM quando o executar. | nircmd.exe cmdshortcut “~$pasta.desktop$” “Abrir CDROM” cdrom open k: |
| Criar um atalho para o site da NirSoft na sua área de trabalho | nircmd.exe urlshortcut “Referências HTTP://www.nirsoft.net” “~$pasta.desktop$” “NirSoft” |
| Adicionar o site da NirSoft aos seus Favoritos na pasta Links. | nircmd.exe urlshortcut “Referências HTTP://www.nirsoft.net” “~$folder.favorites$Links” “NirSoft” |
| Criar um atalho para o site NirSoft no ambiente de trabalho de todos os computadores listados em computers.txt | nircmd.exe multiremote copy “c:tempcomputers.txt” urlshortcut “Referências HTTP://www.nirsoft.net” “~$folder.common_desktop$” “NirSoft” |
| Definir o modo de ecrã para 800x600x24bit cores | nircmd.exe setdisplay 800 600 24 |
| Criar um atalho no ambiente de trabalho que define o modo de ecrã para 800x600x24bit cores | nircmd.exe cmdshortcut “~$pasta.desktop$” “800x600x24” setdisplay 800 600 24 |
| Copiar todos os atalhos do seu ambiente de trabalho para outra pasta (f:tempdesktop). | nircmd.exe execmd copy “~$folder.desktop$*.lnk” f:tempdesktop |
| Reiniciar o seu servidor Apache (sob Windows NT/2000/XP/2003) | nircmd.exe service restart apache |
| Criar um atalho no ambiente de trabalho que reinicia o servidor Apache | nircmd.exe cmdshortcut “~$pasta.desktop$” “Reiniciar Apache” service restart apache |
| Reiniciar o IIS | nircmd.exe service restart w3svc |
| Reiniciar o MySql | nircmd.exe service restart MySql |
| Abrir a chave/valor de Registo desejado no RegEdit | nircmd.exe regedit “HKLMSoftwareMicrosoftWindowsCurrentVersion” “CommonFilesDir” |
| Abra a chave de registo que copiou para a área de transferência no RegEdit. | nircmd regedit “~$clipboard$” |
| Desativar o protetor de ecrã | nircmd.exe regsetval sz “HKCUcontrol paneldesktop” “ScreenSaveActive” 0 |
| Ativar o protetor de ecrã | nircmd.exe regsetval sz “HKCUcontrol paneldesktop” “ScreenSaveActive” 1 |
| Alterar a data/hora do ficheiro especificado (hora de criação e hora de modificação) | nircmd.exe setfiletime “c:tempmyfile.txt” “24-06-2003 17:57:11” “22-11-2005 10:21:56” |
| Copiar o caminho da sua pasta de ambiente de trabalho para a área de transferência | nircmd.exe clipboard set ~$folder.desktop$ |
| Copiar o caminho da pasta do menu Iniciar para a área de transferência | nircmd.exe clipboard set ~$folder.start_menu$ |
| Copiar o conteúdo de info1.txt (ficheiro de texto simples) para a área de transferência | nircmd.exe clipboard readfile “c:My Filesinfo1.txt” |
| Adicionar o conteúdo de texto da área de transferência a info1.txt | nircmd.exe clipboard addfile “c:My Filesinfo1.txt” |
| Limpar a área de transferência | nircmd.exe clipboard clear |
| Criar todas as pastas especificadas em “c:tempfolders.txt”. Os nomes dos caminhos das pastas estão separados por caracteres CRLF. | nircmd.exe paramsfile “c:tempfolders.txt” “” “” execmd md ~$fparam.1$ |
| Instalar o assembly .NET especificado na cache global de assemblies (como gacutil) | nircmd.exe gac install “C:tempMyAssemblybinMyAssembly.dll” |
| Esvaziar a reciclagem em todas as unidades. | nircmd.exe emptybin |
| Responder 'Sim'’ a uma caixa de mensagem padrão do Windows. | nircmd.exe dlg “” “” clicar em sim |
| Aguardar 2 Segundos, e depois guardar o ecrã atual em shot.png | nircmd.exe cmdwait 2000 savescreenshot “f:tempshot.png” |
| Salvar 10 Capturas de ecrã em loop, e aguardar 60 segundos entre as chamadas de guardar captura de ecrã. Os nomes dos ficheiros da captura de ecrã irão conter a hora e a data da captura guardada. | nircmd.exe loop 10 60000 savescreenshot c:tempscr~$currdate.MM_dd_yyyy$-~$currtime.HH_mm_ss$.png |
| Aguardar até o Firefox ser fechado, e depois dizer “Firefox foi fechado” | nircmd.exe waitprocess firefox.exe speak text “Firefox foi fechado” |
| Executar RegEdit com o utilizador SYSTEM (On Windows 7/8/Vista/2008), que permite visualizar todas as chaves ocultas do Registo do sistema | nircmd.exe elevatecmd runassystem c:windowsregedit.exe |








































