自己非表示には、 getCmdPID.batとwindowMode.batを使用できます。
@echo off
echo --- self hiding bat ----
pause
call getCmdPid.bat
set PID=%errorlevel%
call windowMode.bat -pid %PID% -mode hidden
これを達成するための方法のコレクションを次に示します。さらに可能であれば、開始されたプロセスの PID も返そうとしました (リンクされたすべてのスクリプトをダウンロードして、便利な名前で保存できます)。
- IEXPRESSソリューションは、古い win 95/98 マシンでも使用できます。Iexpress は、Windows にまだパッケージ化されている非常に古いツールです。引数は、コマンドとその引数のみを受け入れます。
使用例:
call IEXPhidden.bat "cmd /c myBat.bat" "argument"
- SCHTASKS - ここでも、コマンドと引数の 2 つの引数のみを受け入れます。また、昇格されたアクセス許可で開始されたかどうかをチェックし、可能であれば WEVTUTIL を使用してプロセスの PID を取得します (Vista 以降で使用できるため、新しいバージョンの Windows は PID を受け取ります)。指図。
使用例:
call SCHPhidden.bat "cmd /c myBat.bat" "argument"
- 'WScript.Shell' - スクリプトは 'WScript.Shell' の完全なラッパーであり、すべての可能なオプションはコマンド ライン オプションを使用して設定できます。これは jscript/バッチ ハイブリッドであり、bat として呼び出すことができます。
使用例 (詳細については、「-h」を使用してヘルプを印刷してください):
call ShellRunJS.bat "notepad.exe" -style 0 -wait no
- 'Win32_ProcessStartup' - ここでも完全なラッパーであり、すべてのオプションはコマンド ライン引数からアクセスできます。今回は、一部の Jscript と一部の VBScript コードを使用した WSF/バッチ ハイブリッドですが、開始されたプロセスの PID を返します。プロセスが非表示でない場合X/Y 座標などのいくつかのオプションを使用できます (すべての実行可能ファイルに適用できるわけではありませんが、たとえば cmd.exe は座標を受け入れます)。
使用例 (詳細については、「-h」を使用してヘルプを印刷してください):
call win32process.bat "notepad" -arguments "/A openFile.txt" -showWindows 0 -title "notepad"
- 。ネットソリューション。ProcessStartInfo オプションのほとんどのオプションが使用されます (しかし、最後には疲れすぎてすべてを含めることができませんでした):
使用例 (詳細については、「-h」を使用してヘルプを印刷してください):
call ProcessStartJS.bat "notepad" -arguments "/A openFile.txt" -style Hidden -directory "." -title "notepad" -priority Normal