BATファイル:新しいcmdウィンドウを開き、そこでコマンドを実行します



Bat File Open New Cmd Window



解決:

それはあなたが尋ねた少し前だったので、あなたはすでにあなたの答えを見つけるかもしれません。しかし、私はrorをコーディングするときに同様のことをしようとしました。新しいcmdウィンドウで「railsserver」を実行したかったので、新しいcmdを開いてからパスを再度見つける必要はありません。

私が見つけたのは、次のようにKスイッチを使用することでした。



start cmd / k echo Hello、World!

「cmd」がアプリケーションを新しいウィンドウで開き、「/ K」が「echoHello、World!」を実行する前に開始します。新しいcmdが起動した後。

/ Cスイッチを同様の目的で使用することもできます。



cmd / Cの一時停止を開始

これにより、「一時停止」が実行されますが、コマンドが完了するとウィンドウが閉じます。この場合、ボタンを押した後。これは「railsserver」に役立つことがわかりました。その後、開発サーバーをシャットダウンするときに、後でウィンドウを閉じる必要はありません。


バッチファイルで以下を使用します。

start cmd.exe / k'more-batch-commands-here '

また



start cmd.exe / c'more-batch-commands-here ' 

/ c文字列で指定されたコマンドを実行し、終了します
/ k文字列で指定されたコマンドを実行しますが、残ります

を使用してcmd.exeのドキュメントを参照してくださいcmd /?詳細については。

コマンド文字列の適切なフォーマットは、引数にスペースを含めると少し複雑になります。以下の例を参照してください。一部の例では、ネストされた二重引用符を使用していることに注意してください。

例:

プログラムを実行し、ファイル名パラメーターを渡します。
CMD / c write.exe c: docs sample.txt

プログラムを実行し、長いファイル名を渡します。
CMD / c write.exe'c: sample documents sample.txt '

プログラムパス内のスペース:
CMD / c '' c: Program Files Microsoft Office Office Winword.exe ''

プログラムパスのスペース+パラメータ:
CMD / c '' c: Program Files demo.cmd '' Parameter1 Param2
CMD / k '' c: batch files demo.cmd ''パラメータ1とスペース ''パラメータ2とスペース ''

demo1とdemo2を起動します。
CMD / c '' c: Program Files demo1.cmd '&' c: Program Files demo2.cmd ''

ソース: http://ss64.com/nt/cmd.html


これは簡単ではありません。

最善のアプローチは、「新しいウィンドウ」で実行するスクリプトの部分を別の.batファイルに入れることです。たとえば、これは実用的ではない可能性があります。スクリプトの残りの部分(変数など)から多くの状態が必要です。 1つのオプションは、必要な値(操作するdirなど)をバッチファイルに渡すことです。

cmd.exe stuff.bat%this_dir%を開始します

送信する状態が大量にある場合は、実行時にバッチファイルを生成することを検討してください。

set foo = Hello、World set list_me =%userprofile%set tmpdir = c: windows  temp set tmp =%tmpdir% tmp.foo del / q / f '%tmp%' echo.echo%foo%>> ' %tmp% 'echo.dir'%list_me% '>>>'%tmp'start cmd.exe '%tmp%' del / q / f '%tmp%'

明らかに、これは些細な例です。