Existe-t-il un «noop» – exe quelque part dans le cadre de l'installation de Windows? Je prépare certains travaux par lots et les tâches planifiées, et pour quelques raisons, j'aimerais faire référence à un exécutable qui ne fait rien, c'est-à-dire qu'il lance sans fenêtre visible, et quitte immédiatement.
Un tel exécutable existe-t-il dans l'installation habituelle de Windows n'importe où? Ou comment puis-je me rapprocher? Je ne veux pas devoir dépendre de tout ce qui n'est pas déjà inclus dans Windows.
Vous pouvez utiliser rundll32
:
Existe-t-il un «noop» – exe quelque part dans le cadre de l'installation de Windows?
Signifie-t-il spécifiquement un programme qui ne veut rien faire et rien d'autre? Oui et non. Non, dans ce cas, Windows ne comprend pas un par défaut, mais il comprend la possibilité d'en créer un.
Exécutez notepad.exe , tapez les lignes suivantes et enregistrez-la comme C:\ret.scr
(n'oubliez pas la ligne vierge):
a ret rcx 1 n ret.com w q
Compilez-le avec debug.exe à l'invite de commande ( cmd.exe ) avec la commande suivante:
C:\> debug < ret.scr
Vous avez maintenant un programme, ret.com
(en C: \) qui peut être utilisé dans des fichiers par lots qui ne ret.com
absolument rien (bien, autrement que quitter, si cela compte).
Remarque : le debug
n'est pas inclus sur les systèmes 64 bits.
Dans Vista et vers le haut, le framework .NET est inclus par défaut, de sorte que vous pouvez également créer un .exe
natif, Windows do-nothing .exe
avec C # ( compatible 64 bits ):
Exécutez notepad.exe et tapez les lignes suivantes, en l'enregistrant sous C:\ret.cs
:
class rte { static void Main() { } }
Compilez-le avec csc.exe à l'invite de commande ( cmd.exe ) avec la commande suivante:
C:\> csc ret.cs
Vous avez maintenant un autre programme, ret.exe
(en C: \) qui peut être utilisé dans des fichiers de lots qui ne font que renvoyer.
Il n'y a pas de programmes inclus avec Windows (que je connais) qui sortent immédiatement lorsqu'ils sont exécutés (au moins dans le but).
Dans Windows Vista et plus récent, cependant, il existe l'utilitaire timeout.exe . Timeout.exe
attendra un nombre de secondes spécifié, puis quittera. Par exemple:
C:\>timeout /t 0 > nul:
Définir timeout.exe
pour attendre 0 secondes est à peu près aussi proche que vous timeout.exe
à un EXE qui sortira immédiatement.
Sans les paramètres "C: \ Windows \ hh.exe" (Microsoft® HTML Help Executable) ne fait rien et il est inclus dans n'importe quelle version de Windows, je suppose.
wscript
sans arguments wscript
aucun script et est un exécutable "GUI" (n'ouvre pas une console).
J'ai essayé rndll32.exe
et hh.exe
mais les deux n'ont pas modifié hh.exe
ERRORLEVEL%. C'est une variable d'environnement qui indique si le dernier exécutable a réussi. Fonctionne comme le code de retour Unix.
Ma commande noop ci-dessous définira le% ERRORLEVEL% à zéro est:
cd %CD%
Modifiez simplement le répertoire de travail à celui actuel.
Bien que ce ne soit pas l'objectif principal de cet outil, vous pouvez utiliser l'option / don de WuInstall – vous pouvez également spécifier un code de retour qui doit être retourné – voir http://help.wuinstall.com
La commande echo off
ne fait rien dans un fichier batch (.BAT). Bien qu'il ne soit pas exécutable, il s'agit d'une commande interne Windows.
Compilez un simple programme "Covo de Hello World" pour créer un exe simple qui sortirait immédiatement.
Enregistrez le code suivant dans un fichier texte avec un nom comme a.cpp:
#include<iostream> int main() { std::cout<<"Hello World"; return 0; }
Ensuite, compilez-le avec le compilateur LATEST C ++ comme MinGW pour Windows 7.
Dans le cas de MinGW, exécutez la commande suivante dans PowerShell ou Invite de commandes: g++ path\a.cpp
(En supposant que vous avez défini la variable PATH environnementale de l'emplacement binaire g ++ ou que vous êtes dans le répertoire binaire g ++ c: \ mingw \ bin par défaut) . Après l'exécution de la commande, vous obtiendrez a.exe qui affichera Hello World et quittera. Vérifiez par double-clic … la fenêtre cmd apparaît et disparaît immédiatement. L'accès à la ligne de commande affichera Hello World et vous renverra à l'invite CLI.
Ensuite, vous pouvez déplacer ce a.exe dans system32 ou n'importe où en profondeur dans Windows. Vous pouvez même le déployer dans le disque d'installation de Windows.
Vous pouvez écrire un non-op en C comme si
void main() { }
Et compilez-le dans un fichier .exe. Par exemple, si vous avez installé Visual Studio, vous pouvez ouvrir le bloc-notes, coller cet extrait, l'enregistrer comme noop.c et, dans l'invite de commande, utiliser cl noop.c
et générer un fichier noop.exe
dans le même dossier.
Vous pouvez ou ne devez pas parcourir le dossier Microsoft Visual Studio X.0
dans les Program Files
avant et exécutez vcvarsall.bat
partir de l'invite de commande.