作為 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.exe
,hh.exe
但兩者都沒有改變%ERRORLEVEL%。它是一個環境變量,表示最後一個可執行檔是否成功。工作原理類似 UNIX 回傳碼。
下面的 noop 指令將 %ERRORLEVEL% 設為零:
cd %CD%
只需將工作目錄變更為目前目錄即可。