¿Hay un "noop" -esque exe en alguna parte como parte de la instalación de Windows? Estoy preparando algunos trabajos por lotes y tareas programadas, y por un par de razones me gustaría hacer referencia a un ejecutable que no hace nada, es decir, se inicia sin una ventana visible y se cierra inmediatamente.
¿Existe tal ejecutable en la instalación habitual de Windows en alguna parte? o como puedo acercarme? No quiero tener que depender de nada que no esté incluido en Windows.
svchost.exe
no abre nada.rem
comando podría haber funcionado (y dependiendo de en qué parte del archivo por lotes se esté utilizando, posiblemente incluso la::
variante).Respuestas:
Puedes usar
rundll32
:fuente
print.exe
programa simple que simplemente imprime los parámetros que se pasan. Sin ningún argumento sería no hacer nada , pero dándole argumentos hace algo :> print foobar
.¿Significa específicamente un programa que está destinado a no hacer nada y nada más? Si y no. No, en el sentido de que Windows no incluye uno de forma predeterminada, pero sí incluye la capacidad de hacer uno usted mismo.
Opción 1
Ejecute notepad.exe , escriba las siguientes líneas y guárdelo como
C:\ret.scr
(no olvide la línea en blanco):Compílelo con debug.exe en el símbolo del sistema ( cmd.exe ) con el siguiente comando:
Ahora tiene un programa
ret.com
(en C: \) que se puede usar en archivos por lotes que no hace absolutamente nada (bueno, aparte de salir, si eso cuenta).Nota :
debug
no está incluido en sistemas de 64 bits.opcion 2
En Vista y versiones posteriores, el marco .NET se incluye de manera predeterminada, por lo que también puede hacer un Windows nativo que no haga nada
.exe
con C # ( compatible con 64 bits ):Ejecute notepad.exe y escriba las siguientes líneas, guardándolo como
C:\ret.cs
:Compílelo con csc.exe en el símbolo del sistema ( cmd.exe ) con el siguiente comando:
Ahora tiene otro programa
ret.exe
(en C: \) que se puede usar en archivos por lotes que no hace más que devolver.fuente
csc.exe
no estaba en mi camino, pero se encuentra enC:\Windows\Microsoft.NET\Framework\v3.5\csc.exe
main
función vacía parece que sería, o al menos no debería ser más que unaret
, si abre un programa de este tipo en un desensamblador (o incluso un editor hexadecimal), verá que es mucho, mucho más que eso. Por lo general, configurará todo tipo de segmentos (código, datos, etc.), preparará pilas y montones, sin mencionar que importará todo tipo de funciones y cadenas, incluso si en realidad nunca las usa.No hay ningún programa incluido con Windows (que yo sepa) que salga inmediatamente cuando se ejecute (al menos a propósito).
En Windows Vista y versiones posteriores, sin embargo, existe la utilidad timeout.exe .
Timeout.exe
esperará un número específico de segundos y luego saldrá. Por ejemplo:La configuración
timeout.exe
para esperar 0 segundos es lo más cerca que estarás de un EXE que sale inmediatamente.fuente
cmd.exe
específicamente.Sin los parámetros "C: \ Windows \ hh.exe" (ejecutable de la Ayuda HTML de Microsoft®) no hace nada y supongo que está incluido en cualquier versión de Windows.
fuente
wscript
sin argumentos no ejecuta ningún script y es un ejecutable "GUI" (no abre una consola).fuente
wscript /b
embargo, correr parece funcionar.Lo intenté
rndll32.exe
yhh.exe
ambos no alteraron el% ERRORLEVEL%. Es una variable de entorno que dice si el último ejecutable fue exitoso. Funciona como el código de retorno de Unix.Mi comando noop a continuación establecerá% ERRORLEVEL% en cero es:
Simplemente cambiando el directorio de trabajo al actual.
fuente
el comando
echo off
no hace nada dentro de un archivo por lotes (.BAT). Aunque no es un ejecutable, es un comando interno de Windows.fuente
Compile un programa C ++ simple "Hello World" para crear un exe simple que salga inmediatamente.
Guarde el siguiente código en un archivo de texto con algún nombre como a.cpp:
Luego, compílelo con el ÚLTIMO compilador de C ++ como MinGW para Windows 7.
En el caso de MinGW, ejecute el siguiente comando en PowerShell o Símbolo del sistema:
g++ path\a.cpp
(Suponiendo que haya establecido la variable de RUTA ambiental de la ubicación binaria de g ++ o que esté en el directorio binario de g ++, es decir, c : \ mingw \ bin por defecto). Después de la ejecución del comando, obtendrá a.exe que mostrará Hello World y saldrá. Verifique haciendo doble clic ... la ventana cmd aparecerá y desaparecerá de inmediato. El acceso a la línea de comandos mostrará Hello World y lo regresará a la solicitud de CLI.Luego, puede mover este a.exe en system32 o en cualquier lugar dentro de Windows. Incluso puede implementarlo en el disco de instalación de Windows.
fuente
Puedes escribir un no-op en C así
y compilarlo en un archivo .exe. Por ejemplo, si tiene instalado Visual Studio, puede abrir el bloc de notas, pegar ese fragmento, guardarlo como noop.c y, en el símbolo del sistema, utilizar
cl noop.c
y generará unnoop.exe
archivo en la misma carpeta.Es posible que primero tenga que buscar la
Microsoft Visual Studio X.0
carpetaProgram Files
y ejecutarlavcvarsall.bat
desde el símbolo del sistema.fuente
Aunque no es el objetivo principal de esta herramienta, puede usar la opción / donothing de WuInstall ; también puede especificar un código de retorno que debe devolverse; consulte http://help.wuinstall.com
fuente