オプション1

オプション1

Windows インストールの一部として、どこかに「noop」風の exe がありますか? いくつかのバッチ ジョブとスケジュールされたタスクを準備していますが、いくつかの理由から、何もしない実行可能ファイル (つまり、表示されるウィンドウなしで起動し、すぐに終了する) を参照したいと考えています。

このような実行ファイルは、通常の Windows インストールのどこかに存在するのでしょうか? または、どうすればそれに近づくことができるのでしょうか? Windows にまだ含まれていないものに依存したくありません。

答え1

以下を使用できますrundll32:

  • コンソールウィンドウなし
  • 副作用なし
  • わずか44KB
  • 引数は必要ありません
  • すべての最近の 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:\ 内) ができました。このプログラムは、まったく何も実行しません (終了以外は、それがカウントされるかどうかは別として)。

注記: debug64 ビット システムには含まれません。


オプション2

Vista以降では、.NETフレームワークがデフォルトで含まれているため、.exeC#を使用してネイティブのWindowsの何もしないコードを作成することもできます(64ビット対応):

走るメモ帳次の行を入力して、次のように保存しますC:\ret.cs

class ret
{
   static void Main() {
   }
}

コンパイルするにはcs.exe は、コマンドプロンプト(コマンドプロンプト) を次のコマンドで実行します。

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

これで、バッチ ファイルで使用できる別のプログラムret.exe(C:\ 内) が作成されました。このプログラムは、戻り値のみを実行します。ターゲット オプションにより GUI アプリになるため、ターミナル ウィンドウも開きません。

答え3

Windows に含まれているプログラムで、実行時にすぐに終了するもの (少なくとも意図的に) は (私が知る限り) ありません。

しかし、Windows Vista以降では、タイムアウト.exeユーティリティはTimeout.exe指定された秒数待機してから終了します。例:

C:\>timeout /t 0 > nul:

待機時間を 0 秒に設定するとtimeout.exe、すぐに終了する EXE にほぼ近づきます。

答え4

試してみましたがrndll32.exehh.exeどちらも %ERRORLEVEL% は変更されませんでした。これは、最後の実行ファイルが成功したかどうかを示す環境変数です。UNIX の戻りコードのように機能します。

以下の noop コマンドは %ERRORLEVEL% をゼロに設定します。

cd %CD%

作業ディレクトリを現在のディレクトリに変更するだけです。

関連情報