私の問題は、Windowsには、実行後すぐに閉じるコマンドラインウィンドウがあることです。これを解決するために、デフォルトの動作として、ウィンドウが開いたままになるようにします。通常、この動作は、私の頭に浮かぶ3つの方法で回避できます。
- 置く
pause
終了する前にキーを押すようにユーザに促すために、バッチプログラムの後にラインを - (Start-Run-cmd.exe)
net start xy
内で、これらのバッチファイルまたは他のコマンドライン操作ツール(サービスの起動、再起動など、または同様のもの)をcmd.exe
実行します。 - これらのプログラムを次の
cmd /k
ように実行します。cmd /k myprogram.bat
しかし、ユーザーが他にもいくつかのケースがあります。
- プログラムを最初に実行し、特定のプログラムがコマンドプロンプト(Windowsコマンドプロセッサ)で実行されることを知りません。たとえば、[スタート]メニュー(または他の場所)からショートカットを実行する場合、または
- cmd.exeを常に実行することは少し不快であり、これらのコマンドのコードをどこにでも書き直して一時停止したり、明示的に終了しないようにする時間/機会はありません。
AutoRunエントリを作成し、これらの場所でそのコンテンツを操作することで、明示的に開くときのデフォルトの動作を変更することに関する記事を読みました。cmd.exe
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\AutoRun
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor\AutoRun
(自動実行アイテムは_String values_
...)
私cmd /d /k
はそれを試してみるために値として入れましたが、これは上記のものの動作をまったく変更しませんでした...明示的に開いたときのコマンドラインウィンドウの動作を変更しました(Start-Run- cmd.exe)。
それでは、どのように機能しますか?この問題を解決するためのアイデアを教えてください。
stdout
正当な理由で決して表示されることを意図していなかった多くのものが絶えず送信されます。