55 votes

Existe-t-il un exe Windows qui ne fait rien ?

Existe-t-il un exe de type "noop" quelque part dans l'installation de Windows ? Je prépare quelques travaux par lots et des tâches planifiées, et pour quelques raisons, j'aimerais référencer un exécutable qui ne fait rien -- c'est-à-dire qui se lance sans fenêtre visible, et qui s'arrête immédiatement.

Un tel exécutable existe-t-il quelque part dans l'installation habituelle de Windows ? ou comment puis-je m'en approcher ? Je ne veux pas avoir à dépendre de quelque chose qui ne soit pas déjà inclus dans Windows.

58voto

Andrea Points 726

Vous pouvez utiliser rundll32 :

  • Pas de fenêtre de console
  • Aucun effet secondaire
  • Seulement 44 KB
  • Aucun argument n'est requis
  • Fonctionne sur toutes les versions récentes de Windows (XP, Vista, 7), et probablement sur tous les systèmes basés sur NT.

42voto

Ben Collins Points 11318

Y a-t-il un exe de type "noop" quelque part dans l'installation de Windows ?

C'est-à-dire un programme qui est censé ne rien faire et rien d'autre ? Oui et non. Non, car Windows n'en inclut pas par défaut, mais il offre la possibilité d'en créer un soi-même.

Option 1

Exécuter notepad.exe tapez les lignes suivantes, et sauvegardez-le sous le nom de C:\ret.scr (n'oubliez pas la ligne blanche) :

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 (dans C:\) qui peut être utilisé dans des fichiers batch et qui ne fait absolument rien (à part quitter, si cela compte).

Note : debug n'est pas inclus sur les systèmes 64 bits.

Option 2

Dans les versions Vista et ultérieures, le cadre .NET est inclus par défaut, de sorte que vous pouvez également créer un programme natif, sans effet sur Windows. .exe avec C# ( Compatible 64 bits ):

Exécuter notepad.exe et tapez les lignes suivantes, en l'enregistrant comme C:\ret.cs :

class ret
{
   static void Main() {
   }
}

Compilez-le avec csc.exe à l'invite de commande ( cmd.exe ) avec la commande suivante :

C:\> csc ret.cs /target:winexe

Vous avez maintenant un autre programme, ret.exe (dans C:\) qui peut être utilisé dans des fichiers batch et qui ne fait rien d'autre que de retourner. L'option target en fait une application GUI, qui n'ouvre même pas de fenêtre de terminal.

10voto

Andrew Lambert Points 7506

Il n'y a pas de programme inclus dans Windows (à ma connaissance) qui se termine immédiatement lorsqu'il est exécuté (du moins intentionnellement).

Dans Windows Vista et les versions plus récentes, cependant, il y a le timeout.exe utilitaire. Timeout.exe attendra un nombre de secondes spécifié, puis quittera. Par exemple :

C:\>timeout /t 0 > nul:

Réglage de timeout.exe pour attendre 0 seconde est à peu près ce qu'il y a de plus proche d'un EXE qui sort immédiatement.

5voto

ProCompSys Points 51

Sans paramètres " C:\Windows\hh.exe "(Microsoft® HTML Help Executable) ne fait rien et il est inclus dans toutes les versions de Windows, je suppose.

3voto

l_39217_l Points 1632

J'ai essayé rndll32.exe y hh.exe mais les deux n'ont pas modifié le %ERRORLEVEL%. C'est une variable d'environnement qui indique si le dernier exécutable a réussi. Elle fonctionne comme le code de retour Unix.

Ma commande noop ci-dessous va mettre le %ERRORLEVEL% à zéro est :

cd %CD%

Il suffit de remplacer le répertoire de travail par le répertoire actuel.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X