Existe-t-il un fichier «noop» -esque quelque part dans l’installation de Windows? Je prépare des travaux par lots et des tâches planifiées. Pour une ou deux raisons, j'aimerais citer un exécutable qui ne fait rien, c'est-à-dire qu'il démarre sans fenêtre visible et se ferme immédiatement.
Un tel exécutable existe-t-il n'importe où dans l'installation Windows habituelle? ou comment puis-je m'approcher? Je ne veux pas dépendre de quelque chose qui n'est pas déjà inclus dans Windows.
svchost.exe
n'ouvre rien.rem
commande aurait pu fonctionner (et selon l'endroit où elle est utilisée dans le fichier de commandes, éventuellement même la::
variante).Réponses:
Vous pouvez utiliser
rundll32
:la source
print.exe
programme simple qui affiche simplement les paramètres qui lui sont transmis. Sans aucun argument , il ne rien faire , mais en lui donnant des arguments fait quelque chose :> print foobar
.Ce qui signifie spécifiquement un programme qui est fait pour ne rien faire et rien d'autre? Oui et non. Non, car Windows n'inclut pas un logiciel par défaut, mais inclut la possibilité d'en créer un vous-même.
Option 1
Exécutez notepad.exe , tapez les lignes suivantes et enregistrez-le sous
C:\ret.scr
(n'oubliez pas la ligne vide):Compilez-le avec debug.exe à l'invite de commande ( cmd.exe ) à l'aide de la commande suivante:
Vous avez maintenant un programme
ret.com
(dans C: \) qui peut être utilisé dans des fichiers batch qui ne fait absolument rien du tout (enfin, sauf quit, si cela compte).Remarque :
debug
n'est pas inclus sur les systèmes 64 bits.Option 2
Sous Vista et dans les versions ultérieures, le framework .NET est inclus par défaut. Vous pouvez donc également créer un environnement virtuel, Windows ne rien faire,
.exe
avec C # ( compatible 64 bits ):Exécutez notepad.exe et tapez les lignes suivantes en l’enregistrant sous
C:\ret.cs
:Compilez-le avec csc.exe à l'invite de commande ( cmd.exe ) à l'aide de la commande suivante:
Vous avez maintenant un autre programme
ret.exe
(dans C: \) qui peut être utilisé dans des fichiers batch qui ne fait que retourner.la source
csc.exe
n'était pas sur mon chemin, mais il était situé àC:\Windows\Microsoft.NET\Framework\v3.5\csc.exe
main
fonction vide semble fonctionner, ou du moins ne devrait être rien d’autreret
, si vous ouvrez un tel programme dans un désassembleur (ou même un éditeur hexadécimal), vous verrez que c’est beaucoup plus que cela. Il va généralement mettre en place toutes sortes de segments (code, données, etc.), préparer des piles et des tas, sans oublier d'importer toutes sortes de fonctions et de chaînes et autres, même si elle ne les utilise jamais.À ma connaissance, aucun programme inclus dans Windows () ne se ferme immédiatement lorsqu'il est exécuté (du moins exprès).
Cependant, dans Windows Vista et plus récent, il existe l' utilitaire timeout.exe .
Timeout.exe
attendra un nombre spécifié de secondes puis quittera. Par exemple:Paramétrer
timeout.exe
pour attendre 0 seconde est à peu près aussi proche que vous obtiendrez un EXE qui se termine immédiatement.la source
cmd.exe
spécifiquement.Sans les paramètres "C: \ Windows \ hh.exe" (Microsoft® HTML Help Executable) ne fait rien et il est inclus dans toute version de Windows, je suppose.
la source
wscript
sans argument n'exécute aucun script et est un exécutable "GUI" (n'ouvre pas de console).la source
wscript /b
semble fonctionner cependant.J'ai essayé
rndll32.exe
et leshh.exe
deux n'ont pas modifié le% 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 va définir le% ERRORLEVEL% à zéro, c'est:
Il suffit de changer le répertoire de travail pour le répertoire actuel.
la source
la commande
echo off
ne fait rien dans un fichier batch (.BAT). Bien qu'il ne s'agisse pas d'un exécutable, il s'agit d'une commande interne à Windows.la source
Compilez un simple programme C ++ "Hello World" pour créer un simple exe qui se fermerait immédiatement.
Enregistrez le code suivant dans un fichier texte avec un nom tel que a.cpp:
Ensuite, le compiler avec la dernière compilateur C ++ comme MinGW pour Windows 7.
En cas de MinGW, exécutez rapide commande suivante dans PowerShell ou Commande:
g++ path\a.cpp
( En supposant que vous avez défini la variable d' environnement PATH de g ++ emplacement binaire ou vous êtes dans g répertoire binaire ++ par exemple c : \ mingw \ bin par défaut). Après exécution de la commande, vous obtiendrez a.exe qui affichera Hello World et quittera. Vérifiez en double-cliquant ... La fenêtre de commande apparaîtra et disparaîtra immédiatement. L'accès en ligne de commande affiche Hello World et vous ramène à l'invite de la CLI.Ensuite, vous pouvez déplacer ce a.exe dans system32 ou ailleurs dans Windows. Vous pouvez même le déployer sur le disque d'installation de Windows.
la source
Vous pouvez écrire un no-op en C comme ça
et compilez-le dans un fichier .exe. Par exemple, si Visual Studio est installé sur votre ordinateur, vous pouvez ouvrir le bloc-notes, coller cet extrait, l'enregistrer sous le nom noop.c. Dans l'invite de commande
cl noop.c
, il sera utilisé pour générer unnoop.exe
fichier dans le même dossier.Vous pouvez ou non avoir à parcourir le
Microsoft Visual Studio X.0
dossier enProgram Files
premier et à exécuter àvcvarsall.bat
partir de l'invite de commande.la source
Bien que ce ne soit pas l'objectif principal de cet outil, vous pouvez utiliser l'option / donothing de WuInstall - vous pouvez également spécifier un code de retour à renvoyer - voir http://help.wuinstall.com
la source