質問: win10を使っています。 コマンドプロンプトを利用して色々やろうとしているのですが、1個目のコマンドが実行されたところで止まってしまい、2個目以降が動きません。 pythonから起動するパターンと、バッチファイルから起動するパターンの両方を試しているのですが、両方同じようになってしまいます。 いま非常にシンプルな例として以下のようなバッチファイルを作って実行したところ、画像のような結果になりました。 ``` cmd /k dir cmd /k tree ``` ![1つ実行すると止まる](https://i.stack.imgur.com/bmQZV.png) 1個目だけ実行されて止まっています。 毎回ここでつまずいており困っています。どうしたらよいか教えていただけると助かります。 なお `cmd /k dir` という書き方の意図は以下です。 * はじめ `dir`とだけ書いた * するとすぐにウィンドウが閉じてしまった * 調べるとオプションとして `/k` を使うとウィンドウが閉じないようだ このあたりも含めて考え方に間違いがあればご指摘ください。よろしくお願いいたします。
回答: バッチファイルの中身は単に以下のような記述ではだめでしょうか。 dirtree.bat ``` dir tree ``` バッチファイルは実行させたいコマンドを列挙しておけば順に実行してくれますので、今回の例であればわざわざ`cmd`の引数に渡す必要は無いと思います。 **追記** 作成したバッチファイルをダブルクリックで実行した場合は、処理が終了するとウインドウも閉じてしまいます。もしウインドウを開いたまま(結果を確認したい)場合には、バッチファイルの最後に`pause`コマンドの行を追記してください。一連の処理が完了後、「続行するには何かキーを押してください...」と表示され、入力待ちの状態になります。 ``` dir tree pause ```