完了時にコマンドプロンプトの自動クローズを無効にする方法


18

これを実現するために古いバージョンのWindowsでいくつかのトリックがあったことは知っていますが、Windows 7ではわかりません。

スイッチを使用してコマンドを実行し、cmd.exeウィンドウをすばやく開いたり閉じたりするソフトウェアがある場合、タスクが完了したら自動的に閉じないようにコマンドプロンプトを再構成するにはどうすればよいですか。

ここでのコツは、実行されるコマンドが実際にバッチファイルであり、最後に一時停止ステートメントが含まれているが、ソフトウェアがコマンドを実行しようとする方法が失敗していることです。すぐに終了するため、すぐに終了するため、どのエラーが返されるのかわかりません。


良い質問です、静かに私はこれを知ってほしいと思いました。ゲーム/ソフトウェアのパッチは、実行されたコマンドを一時停止してエンドユーザーに表示せずに実行された後に.BATファイルで閉じられることがあります。
Boris_yo

1
コマンドウィンドウを開いて、そのディレクトリにcdし、そこからバッチを実行してみませんか?これは、バッチが終了しても開いたままになる、同じ非閉じるcmdウィンドウで実行されます。これにより、デバッグの手がかりが得られる場合があります。
jdh


slhckのおかげで、私がその場所を指し示しているのは、batfile / cmdfileのレジストリ内で私が望んでいることを達成するための最も近い可能性のように見えます。
神話

回答:


8

その.batファイルをエクスプローラーまたは他の使用する方法から直接実行する代わりに、手動でcmd.exe(昇格した特権で必要な場合).bat起動し、そこからファイルを実行します。実行が完了すると、古き良きDOS時代のように、すべての出力が表示されます。:)


スタートを押して入力しcmd、を押してenter、コマンドプロンプトを起動します。実行する必要があるもの(Pythonスクリプトまたは.exe)をcmdウィンドウにドラッグアンドドロップし、を押しenterます。
JinSnow

6

.batファイルで、pauseコマンドを使用します。.batファイルが閉じないようにします。

たとえば、これはPCでMySQLサービスを開始するために使用する私のbatファイルです。

net start MySQL
pause

注: Windows 7では、この.batファイルを管理者の名前から起動します。これを行うには、.batファイルでマウスの右ボタンをクリックし、ドロップダウンメニューから[管理者の名前から開始]を選択します。



1

.batスクリプトでは、スクリプトの最後にある「終了」をオフにして、コマンドウィンドウを開いたままにします。

スクリプトによって開かれたコマンドウィンドウは、スクリプトに依存しているため、スクリプトの最後で常に閉じます。自分でウィンドウを開いてスクリプトを実行しても、ウィンドウはスクリプトに依存しないため、スクリプトの最後で「終了」コマンドを指定しない限り、ウィンドウは閉じません。

Windows 7でスクリプトが終了すると、スクリプト依存のウィンドウが閉じられないようにする方法はありませんが、エラーメッセージが他の場所に記録される可能性があります。プログラムにはログファイルがありますか?または、Windowsログにエントリがありますか?


0
pause>nul

これは動作するはずです。


2
質問を注意深く読んでください。あなたの答えは元の質問には答えませ。「ここでのトリックは、実行中の命令は、バッチファイルが実際にあるということです終わりに一時停止文を含んでいる
DavidPostill

0

を押しstartて入力しcmd、を押すenterと、コマンドプロンプトが起動します。実行する必要があるもの(Pythonスクリプト、.exe ...)をcmdウィンドウにドラッグアンドドロップし、Enterキーを押します。(cmdを管理者として実行する必要がある場合は、スタートメニューでcmdを見つけ、右クリックしてを選択しますrun as admin)(Windows 7で動作します)


複数の質問に同じ回答を投稿しないでください。同じ情報が本当に両方の質問に答える場合、1つの質問(通常は新しい質問)をもう1つの質問の複製として閉じる必要があります。重複として閉じるように投票することでこれを示すことができます。そのための評判が十分でない場合は、重複であることを示すためにフラグ立てます。それ以外の場合は、この質問に対する回答を調整し、同じ回答を複数の場所に貼り付けないでください。
DavidPostill

0

私はしばらくこの問題を抱えていましたが、ついに何が起こっているのかを実感しました。

タスクスケジューラを使用してタスクを開始し、それがbatファイルである場合、cmdウィンドウはC:\ WINDOWS \ system32に開かれ、batファイルの場所ではありません。どうして?私は見当もつかない!だから、私がしなければならなかったことは、batファイルにcdでディレクトリを追加することです。

以下の例:

cd c:\ blahblahblah

startmyprogram.exe


あなたの答えは多くの混乱を引き起こし、OPが遭遇した問題の背後にある理由を確立することはできません。このリンクsuperuser.com/help/how-to-answerを参照すると、回答中に役立ちます。
ラジェシュS
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.