環境:
- Windows10
- DOS
実現したいこと
2つの異なる環境へのアプリのデプロイ処理のようなもののステータスが完了になる環境間の差分、遅延具合を視覚化したいと考えています。
具体的な手段としては、コマンドプロンプト2つ表示させてデスクトップ上に並べて、以下のコマンドをそれぞれ流しつつ、その様子をキャプチャし動画撮影する想定です。
(デプロイ処理自体は、今回の質問範囲外のコマンドを用いて、同時にデプロイを開始しているという前提)
プロンプトの実行内容
DOS画面その1(環境A用)
dos
1for /l %i in (-1,0,0) do ( # ①ループ処理開始部 2cls # ②画面クリア処理 3showstatus --zone A --app_name sample_project # ③A環境でのsample_projectアプリのデプロイ状況が返ってくるコマンド(実行中→完了となる) 4timeout /nobreak 1 > nul # ④1秒間間隔で値を取りたい 5) # ⑤ループ処理終了部
DOS画面その2(環境B用)
dos
1for /l %i in (-1,0,0) do ( 2cls 3showstatus --zone B --app_name sample_project # B環境でのsample_projectアプリのデプロイ状況が返ってくるコマンド(実行中→完了となる) 4timeout /nobreak 1 > nul 5)
悩み
dos画面には何らかの方法をもって、都度リフレッシュやページ送りでもいいのですが、ステータスを描画するという要件があります。
課題としては、③のコマンドの実行に1-2秒かかっているため、②でのcls後(dos画面のリフレッシュ後)に③の結果が表示されるまでDOS画面がブラックアウトの時間が長くなってしまっている。
→DOSのブラックアウトの時間を減らして、1つのループ前の結果を③のコマンド表示までギリギリまで表示して、コマンド③の実行して結果を表示する直前タイミングでクリアしたい。(差し替えるイメージです。)
質問
上記の悩みを解決するにはどういったコマンドを書くといいでしょうか?
アドバイスお願いいたします。
(ex 非同期に裏側で③のステータスコマンドを取っておくなど)
備考
質問文中に2環境で2つのDOS画面という話を書きましたが、質問としては1環境だとしても変わらないですね。書き終わって気づきました、すみません。2つの環境があるという点はご放念いただいて構いません。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。