Gibt es irgendwo eine "noop" -Exe als Teil der Windows-Installation? Ich bereite einige Stapeljobs und geplante Aufgaben vor und möchte aus einigen Gründen auf eine ausführbare Datei verweisen, die nichts bewirkt - dh ohne sichtbares Fenster gestartet und sofort beendet wird.
Existiert eine solche ausführbare Datei in der üblichen Windows-Installation irgendwo? oder wie kann ich nah kommen Ich möchte nicht auf etwas angewiesen sein, das noch nicht in Windows enthalten ist.
svchost.exe
öffnet nichts.rem
Befehl funktionieren können (und je nachdem, wo in der Batch-Datei er verwendet wird, möglicherweise sogar die::
Variante).Antworten:
Sie können verwenden
rundll32
:quelle
print.exe
Programm vor, das einfach die übergebenen Parameter ausgibt. Ohne Argumente würde es nichts tun , aber es Argumente geben etwas tut :> print foobar
.Bedeutet das konkret ein Programm, das nichts und nichts anderes tun soll? Ja und nein. Nein, Windows enthält standardmäßig keine, es enthält jedoch die Möglichkeit, selbst eine zu erstellen.
Option 1
Führen Sie notepad.exe aus , geben Sie die folgenden Zeilen ein und speichern Sie sie unter
C:\ret.scr
(vergessen Sie die leere Zeile nicht):Kompilieren Sie es mit debug.exe an der Eingabeaufforderung ( cmd.exe ) mit folgendem Befehl:
Sie haben jetzt ein Programm
ret.com
(in C: \), das in Batch-Dateien verwendet werden kann und absolut nichts bewirkt (außer beenden, wenn dies zählt).Hinweis :
debug
Ist auf 64-Bit-Systemen nicht enthalten.Option 2
In Vista und höher ist das .NET-Framework standardmäßig enthalten, sodass Sie auch ein natives Windows-Do-nothing
.exe
mit C # ( 64-Bit-kompatibel ) erstellen können :Führen Sie notepad.exe aus, und geben Sie die folgenden Zeilen ein, und speichern Sie sie als
C:\ret.cs
:Kompilieren Sie es mit csc.exe an der Eingabeaufforderung ( cmd.exe ) mit dem folgenden Befehl:
Sie haben jetzt ein anderes Programm
ret.exe
(in C: \), das in Batch-Dateien verwendet werden kann, die nichts anderes tun, als zurückzukehren.quelle
csc.exe
war es nicht auf meinem Weg, aber es befand sich amC:\Windows\Microsoft.NET\Framework\v3.5\csc.exe
main
Funktion so aussieht, als ob sie nichts anderes wäre oder zumindest sein sollteret
, wenn Sie ein solches Programm in einem Disassembler (oder sogar einem Hex-Editor) öffnen, werden Sie feststellen, dass es viel, viel mehr ist. In der Regel werden alle Arten von Segmenten (Code, Daten usw.) erstellt, Stapel und Haufen vorbereitet und alle Arten von Funktionen und Zeichenfolgen importiert, auch wenn sie nie tatsächlich verwendet werden.In Windows sind keine (mir bekannten) Programme enthalten, die sofort beendet werden, wenn sie ausgeführt werden (zumindest absichtlich).
In Windows Vista und höher gibt es jedoch das Hilfsprogramm timeout.exe .
Timeout.exe
Wartet eine bestimmte Anzahl von Sekunden und beendet dann. Zum Beispiel:Die Einstellung
timeout.exe
, auf 0 Sekunden zu warten, ist ungefähr so nah wie eine EXE-Datei, die sofort beendet wird.quelle
cmd.exe
speziell ausführen .Ohne Parameter hat "C: \ Windows \ hh.exe" (Microsoft® HTML Help Executable) keine Auswirkung und ist in jeder Windows-Version enthalten.
quelle
wscript
Ohne Argumente wird überhaupt kein Skript ausgeführt und es ist eine "GUI" -ausführbare Datei (öffnet keine Konsole).quelle
wscript /b
scheint aber zu funktionieren.Ich habe es versucht
rndll32.exe
undhh.exe
beide haben dann% ERRORLEVEL% nicht geändert. Dies ist eine Umgebungsvariable, die angibt, ob die letzte ausführbare Datei erfolgreich war. Funktioniert wie der Unix-Returncode.Mein Befehl noop setzt% ERRORLEVEL% auf Null.
Ändern Sie einfach das Arbeitsverzeichnis auf das aktuelle.
quelle
Der Befehl
echo off
führt innerhalb einer Batchdatei (.BAT) keine Aktionen aus. Obwohl es sich nicht um eine ausführbare Datei handelt, handelt es sich um einen Windows-internen Befehl.quelle
Kompilieren Sie ein einfaches C ++ - Programm "Hello World", um eine einfache Exe zu erstellen, die sofort beendet wird.
Speichern Sie folgenden Code in einer Textdatei mit einem Namen wie a.cpp:
Dann kompilieren sie mit den neuesten C ++ Compiler wie MinGW für Windows 7.
Bei MinGW, führen Sie in Powershell oder Befehl folgende Eingabeaufforderung:
g++ path\a.cpp
(Unter der Annahme , dass Sie Umwelt PATH - Variable von g eingestellt haben ++ Binärspeicherort oder Sie sind in g ++ Binärverzeichnis dh c : \ mingw \ bin standardmäßig). Nach der Befehlsausführung erhalten Sie eine.exe, die Hello World anzeigt und beendet. Bestätigen Sie mit einem Doppelklick. Das Cmd-Fenster wird sofort angezeigt und ausgeblendet. Der Befehlszeilenzugriff zeigt Hello World an und Sie kehren zur CLI-Eingabeaufforderung zurück.Dann können Sie diese a.exe in system32 oder irgendwo tief in Windows verschieben. Sie können es sogar auf der Installationsdiskette von Windows bereitstellen.
quelle
Sie können ein No-Op in C wie folgt schreiben
und kompilieren Sie es in eine .exe-Datei. Wenn Sie beispielsweise Visual Studio installiert haben, können Sie den Editor öffnen, dieses Snippet einfügen, als noop.c speichern und in der Eingabeaufforderung verwenden,
cl noop.c
und es wird einenoop.exe
Datei im selben Ordner ausgegeben .Möglicherweise müssen Sie zuerst zu dem
Microsoft Visual Studio X.0
Ordner inProgram Files
navigieren undvcvarsall.bat
an der Eingabeaufforderung ausführen .quelle
Obwohl dies nicht der Hauptzweck dieses Tools ist, können Sie die Option / donothing von WuInstall verwenden - Sie können auch einen Rückkehrcode angeben, der zurückgegeben werden soll - siehe http://help.wuinstall.com
quelle