私のコンピュータ上のタスクは、私のサーバから日々のバックアップをダウンロードしています。基本的にはです:Windows 10タスクスケジューラ:cmdを表示せずにbashスクリプトを実行
bash.exe -c "cd /mnt/d/server_backups && ./download_backup.sh"
これは仕事が、しかし、それは常にそれがなかった場合、私は(ゲームをやっているものは何でも、それが中断するので、実際に映画を見て、私を気にしないことになる、CMDウィンドウをポップアップしません、働く)、デスクトップに私を投げるだけです。
明らかに、Windowsセッションゼロ(何でも)がbashで呼び出しを開始できないため、「ユーザーがログに記録されているかどうかを実行する」というタスクを変更することはできません。
cmdウィンドウを表示しないようにするか、それとも私がそれを主に集中させたい、それ以外はすべて最小限にしたいのかを決めることなしに行う別の方法はありますか?
これはCMDウィンドウではなく、コンソールウィンドウです。他のコンソールアプリケーションと同様に、bash.exeは、プロセスが分離された、すなわち 'DETACHED_PROCESS'を実行するようにフラグが付けられていない場合、新しいコンソールを割り当てます。しかし、これをテストしたところ、プロセスコンソールハンドルが設定されていない場合、つまりプロセスをコンソールにアタッチする必要がある場合、WSLが初期化に失敗するようです。あなたのオプションは、ウィンドウを持たないコンソール(つまり 'CREATE_NO_WINDOW')を作成するか、' STARTUPINFO'の 'wShowWindow'フィールドを使って隠しウィンドウを作成することです。 – eryksun
どちらの場合でも、タスクスケジューラはそのレベルの制御を提供しないため、bash.exeプロセスの作成方法を制御できるPythonやPowerShellなどのスクリプト言語が必要です。 – eryksun
Windows Subsystem for Linuxの代わりにCygwinを使用すると想像できますか? – Binarus