Option 1

Option 1

Gibt es irgendwo als Teil der Windows-Installation eine „noop“-ähnliche EXE? Ich bereite einige Batch-Jobs und geplante Aufgaben vor und möchte aus mehreren Gründen auf eine ausführbare Datei verweisen, die nichts tut – das heißt, ohne sichtbares Fenster gestartet und sofort beendet wird.

Gibt es eine solche ausführbare Datei irgendwo in der normalen Windows-Installation? Oder wie kann ich an sie herankommen? Ich möchte nicht von etwas abhängig sein, das nicht bereits in Windows enthalten ist.

Antwort1

Sie können verwenden rundll32:

  • Kein Konsolenfenster
  • Keine Nebenwirkungen
  • Nur 44 KB
  • Keine Argumente erforderlich
  • Funktioniert auf jeder aktuellen Windows-Version (XP, Vista, 7) und wahrscheinlich auf jedem NT-basierten System.

Antwort2

Gibt es irgendwo als Teil der Windows-Installation eine „noop“-ähnliche EXE?

Meinen Sie damit konkret ein Programm, das nichts anderes tun soll? Ja und nein. Nein, da Windows standardmäßig keins mitliefert, aber Sie haben die Möglichkeit, selbst eins zu erstellen.


Option 1

Laufennotepad.exe, geben Sie die folgenden Zeilen ein und speichern Sie es unter C:\ret.scr(vergessen Sie die Leerzeile nicht):

a
ret

rcx
1
n ret.com
w
q

Kompilieren Sie es mitdebug.exein der Eingabeaufforderung (cmd.exe) mit folgendem Befehl:

C:\> debug < ret.scr

Sie haben jetzt ein Programm ret.com(in C:\), das in Batchdateien verwendet werden kann und absolut nichts tut (also, außer beenden, falls das zählt).

Notiz: debugist auf 64-Bit-Systemen nicht enthalten.


Option 2

In Vista und höher ist das .NET-Framework standardmäßig enthalten, daher können Sie auch eine native, Windows-Nichtstun-Funktion .exemit C# erstellen (64-Bit-kompatibel):

Laufennotepad.exeund geben Sie die folgenden Zeilen ein und speichern Sie sie unter C:\ret.cs:

class ret
{
   static void Main() {
   }
}

Kompilieren Sie es mitcsc.exein der Eingabeaufforderung (cmd.exe) mit dem folgenden Befehl:

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

Sie haben jetzt ein weiteres Programm ret.exe(in C:\), das in Batchdateien verwendet werden kann und nichts anderes tut, als zurückzukehren. Die Zieloption macht es zu einer GUI-Anwendung, sodass nicht einmal ein Terminalfenster geöffnet wird.

Antwort3

Es sind (soweit ich weiß) keine in Windows enthaltenen Programme vorhanden, die bei der Ausführung sofort beendet werden (zumindest nicht absichtlich).

In Windows Vista und neuer gibt es jedoch dietimeout.exeDienstprogramm. Timeout.exewartet eine bestimmte Anzahl von Sekunden und wird dann beendet. Beispiel:

C:\>timeout /t 0 > nul:

Mit der Einstellung timeout.exe„0 Sekunden warten“ kommen Sie einer EXE-Datei am nächsten, die sofort beendet wird.

Antwort4

Ich habe es versucht rndll32.exe, hh.exeaber beides hat den %ERRORLEVEL% nicht geändert. Es ist eine Umgebungsvariable, die angibt, ob die letzte ausführbare Datei erfolgreich war. Funktioniert wie der Unix-Rückgabecode.

Mein Noop-Befehl unten setzt %ERRORLEVEL% auf Null:

cd %CD%

Ändern Sie einfach das Arbeitsverzeichnis zum aktuellen.

verwandte Informationen