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:\ 内) ができました。このプログラムは、まったく何も実行しません (終了以外は、それがカウントされるかどうかは別として)。
注記: debug
64 ビット システムには含まれません。
オプション2
Vista以降では、.NETフレームワークがデフォルトで含まれているため、.exe
C#を使用してネイティブの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.exe
、hh.exe
どちらも %ERRORLEVEL% は変更されませんでした。これは、最後の実行ファイルが成功したかどうかを示す環境変数です。UNIX の戻りコードのように機能します。
以下の noop コマンドは %ERRORLEVEL% をゼロに設定します。
cd %CD%
作業ディレクトリを現在のディレクトリに変更するだけです。