レジストリで次のコマンドを使用して、Windows エクスプローラーのコンテキスト メニューから vbscript をローカルで実行しています。
cmd /T:1F /K "cscript.exe //nologo "C:\Some Path\Some Folder\MyScript.vbs" "%1""
このスイッチを使用する/K
理由は 2 つあります。スクリプト エラーが発生した場合にコンソール ウィンドウを開いたままにしておくことと、コンソールの前面と背面の色を変更することです (これは実際には/T
スイッチで行われますが、何らかの理由で使用していません)。/C
スイッチを使用すると、色がデフォルトに戻ります。
私の質問: 通常の実行終了時にホスト コンソール ウィンドウ (「cmd.exe」プロセスに接続されている) を閉じるにはどうすればよいですか? WScript.Quit
明らかにコンソールプロンプトに戻ります。CommandLine に基づいて Win32_Process の WMI クエリを考えましたが、スクリプトが同じパラメーター (ファイルなど) で複数回呼び出されるとうまくいきません。たとえば、最上位の親プロセスの ID を取得して、それを使用して終了する方法はありますか?