web-dev-qa-db-ja.com

Windowsで非表示(バックグラウンド)タスクのコンソールを表示するにはどうすればよいですか?

タスクスケジューラを使用しています。スタートアップで多くのコンソールソフトウェアを実行しています。コンソールソフトウェアは、バックグラウンドでうまく機能します。それらのソフトウェアの「コンソール」を見たいことがあります。

バックグラウンドプロセスのコンソール/ウィンドウを表示する方法はありますか?

解決:

そのために小さなオープンソースソフトウェアを書くことにしました。

他のコンソールプログラムに接続して制御できるようにするソフトウェア(コンソールを参照し、コマンドを送信する)

それはどのように機能していますか?

タスクマネージャーで、remote-consoleを使用して実行します

remote-console --server [port] cmd.exe

次に、コンソールを表示するには、コンソールに接続する必要があります。

remote-console --client [ip] [port]

Npmを使用してoceをインストールする必要があります

npm i -g node-remote-console

プルリクエストは大歓迎です:)

https://github.com/AminaG/node-remote-console

指定されたアカウント、オプション「ユーザーがログオンしているかどうかに関係なく実行」でタスクを開始すると、タスクはデスクトップとまったく対話できなくなります。

「ユーザーがログオンしているときにのみ実行する」オプションを使用するとうまくいきますが、常にコンソールが表示されます。

私の個人的な解決策 ConEm でコンソールスクリプトを実行すると、タスクバーのステータス領域が起動し、簡単に表示される場合があります。以下の例では、特定のディレクトリのConEmuでスクリプトを開始し、スクリプトが終了するのを待ってウィンドウを閉じます。

Program:
  c:\tools\ConEmu\ConEmu64.exe
Add arguments:
  -basic -StartTSA -dir c:\Sources -cmd cmd.exe /c c:\Sources\Maintain.cmd -cur_console:n

いくつかのコメント

  • -basicは、最初の起動時にユーザーと対話することなく、いくつかのデフォルトのConEmu設定を強制します。
  • -cmdの後の部分は、コマンド自体です:cmd.exe /c c:\Sources\Maintain.cmd
  • -cur_console:nは、スクリプトがすぐに終了した場合にウィンドウを自動的にシャットダウンできるようにします。最後のスイッチである必要があります。
3
Maximus

一部のタスクのコンソールは、コード内で印刷ステートメントを使用しないようにプログラムされているため表示されないため、実際にはbalnkコンソール画面のみを取得できます。したがって、空白を表示する意味はありません。タスクのコンソール。

0
Akshay Pethani