選項1

選項1

作為 Windows 安裝的一部分,是否有一個「noop」式的 exe?我正在準備一些批次作業和規劃任務,出於幾個原因,我想引用一個不執行任何操作的可執行檔 - 即在沒有可見視窗的情況下啟動,然後立即退出。

這樣的可執行檔是否存在於通常的 Windows 安裝中?或者我怎麼才能接近?我不想依賴 Windows 中尚未包含的任何內容。

答案1

您可以使用rundll32

  • 沒有控制台視窗
  • 無副作用
  • 僅 44 KB
  • 無需參數
  • 適用於每個最新的 Windows 版本(XP、Vista、7),並且可能適用於每個基於 NT 的系統。

答案2

作為 Windows 安裝的一部分,是否有一個「noop」式的 exe?

具體是指一個不做任何事的程序?是和不是。不,Windows 預設不包含此功能,但它確實包含您自己製作一個的功能。


選項1

跑步記事本程序,鍵入以下行,並將其另存為C:\ret.scr(不要忘記空白行):

a
ret

rcx
1
n ret.com
w
q

編譯它偵錯程式在命令提示字元處(執行程式)使用以下命令:

C:\> debug < ret.scr

您現在有一個程式ret.com(在 C:\ 中),可以在批次檔中使用,它絕對不執行任何操作(好吧,除了退出,如果這很重要的話)。

筆記:debug不包含在 64 位元系統上。


選項2

在 Vista 及更高版本中,預設包含 .NET 框架,因此您也可以.exe使用 C# 建立本機 Windows 不執行任何操作(64位元相容):

跑步記事本程序並輸入以下行,將其另存為C:\ret.cs

class ret
{
   static void Main() {
   }
}

編譯它執行程式在命令提示字元處(執行程式)使用以下命令:

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

您現在有另一個程式ret.exe(在 C:\ 中),可以在批次檔中使用,它除了返回之外什麼也不做。目標選項使其成為 GUI 應用程序,因此它甚至不會打開終端機視窗。

答案3

據我所知,Windows 中沒有任何程式在執行時會立即退出(至少是有意退出)。

然而,在 Windows Vista 及更高版本中,有超時.exe公用事業。Timeout.exe將等待指定的秒數然後退出。例如:

C:\>timeout /t 0 > nul:

設定timeout.exe為等待 0 秒大約會導致 EXE 立即退出。

答案4

我已經嘗試過rndll32.exehh.exe但兩者都沒有改變%ERRORLEVEL%。它是一個環境變量,表示最後一個可執行檔是否成功。工作原理類似 UNIX 回傳碼。

下面的 noop 指令將 %ERRORLEVEL% 設為零:

cd %CD%

只需將工作目錄變更為目前目錄即可。

相關內容