[コンテキスト:こことここで 大まかに説明されているように、相対的な「開始」パスを使用して .bat ファイルへのショートカットを作成しようとしています。]
cmd.exe
スイッチをサポートし/c
ます。ドキュメントによると、これにより「コマンドを実行してから終了する」必要があります。
ただし、コマンドが.bat
ファイルの場合、スイッチは無視されるようです。たとえば、次のターゲットを使用してショートカットを作成した場合 (通常の非バット コマンドへ):
C:\Windows\System32\cmd.exe /c "START /d C:\temp\ notepad.exe test.txt"
すべてが期待どおりに機能します。メモ帳が開き、コンソール (シェル) が消えます。ただし、上記のコマンドを代わりに .bat ファイルに置き換えると、次のようになります。
C:\Windows\System32\cmd.exe /c "START /d C:\temp\ C:\test.bat"
(ここtest.bat
には " " のみが含まれますnotepad.exe test.txt
) メモ帳は以前と同じように開きますが、コンソールは不要な友達のように残ります。なんで?さらに言えば、どうすればそれをなくすことができますか?
更新:このソリューションのように wscript を使用できることはわかっていますが、カスタム アイコンを使用するオプションが失われます (デフォルトの .vbs アイコンに固執しています)。