web-dev-qa-db-ja.com

バッチファイルを実行するスケジュールされたタスクを実行するときに、コマンドラインウィンドウを開いたままにします

バッチファイルを実行するスケジュールされたタスクを実行するときに、コンソールウィンドウを開いたままにしておきたいです。バッチファイルを実行することを意味する手動で実行すると、ウィンドウは開いたままになりますが、タスクスケジューラーでは開きませんが、タスクがまだ実行されていることがわかります。これを行うために最後に一時停止しました。

 @echo off 
 TITLE PROCESS_MGR
 tasklist /FI "IMAGENAME eq JOESMO.exe" | find /I "JOESMO.exe">nul &&(echo PROCESS 
 JOESMO.exe IS ALREADY RUNNING! 
 echo %DATE%
 echo %TIME%
 pause
 ) || (
 echo JOESMO PROCESS IS NOT RUNNING 
 cmd /c start "JOESMO.exe" "C:\Users\xxxx\Documents\
 Visual Studio 2010\Projects\Projects2013\JOESMO.exe"
 pause)

私はこの提案cmd/k myscript.batを見つけましたが、Windows Server 2008のタスクスケジューラでタスクを作成しているので、これをどこに適用すべきかわかりません。タスクの編集アクションで引数の追加ボックスに/ kを追加しました。

13
vbNewbie

[スケジュールされたタスク]ダイアログで、バッチファイルの名前の直前に実行されます(Program/script。次のようなものがあります:

myscript.bat

に変更する

cmd 

**引数の追加(オプション)エントリに次を追加します。

/k "C:\My Batch File Folder\MyScript.bat"

私のシステム(Win7 64ビット)でテストしたところ、完全に機能しました。このテキストを入力すると、作成されたコマンドウィンドウが開いています。 :-)

22
Ken White

残念ながら、KenのソリューションはWindows 2008 R2 Stdサーバーでは機能しませんでした。schtasks.exeを使用してスケジュールされたタスクの設定を変更することにより、対話型ウィンドウを起動できました。

コマンドウィンドウで、次のコマンドを実行しました。

schtasks /Change /TN "My Task" /IT

ただし、スケジュールされたタスクが実行されているのと同じユーザーコンテキストとしてログインする必要があります。したがって、スケジュールされたタスクがローカルシステムの「taskaccount」を使用している場合、「taskaccount」ユーザーとしてシステムにログインする必要があります。

奇妙なことに、手動でタスクを実行したときに機能しましたが、スケジュールされた時間に開始されたときにポップアップしませんでした。

4
David Yu

ケンの答えはうまくいきませんでした。

この方法を見つけました:

bATファイルで(EXEしかない場合は作成します):

start C:/Absolute/Path/To/MyScript.exe myScriptArg

チャームのように動作します!

注:スケジュールされたタスクでは、「ユーザーがログに記録されている場合のみ実行する」をチェックする必要があります

3
Apolo

上記のすべてを試しましたが、うまくいきませんでした。これを機能させるために私がしたことは次のとおりです。

プラットフォーム Windows Server 2003 R2 SP2 ActivePERL v5.10.1

ステップ

  1. DOS BATCHスクリプトを作成します。これにより、実際のプログラム、つまりmyscript.batが実行されます。
  2. Perlスクリプトを作成して、DOSバッチスクリプト、つまりmyscript.plを呼び出します
  3. myscript.plは1行のスクリプトです:system( "e:\ scripts\myscript.bat");
  4. スケジュールされたタスクの作成:Perl myscript.pl

DOSコマンドプロンプトウィンドウが常に開くようになりました。さらに重要なことは、タスクが正常に実行されて完了することです。注:スケジュールされたタスクRunAsユーザーisはサーバーにログインしています。

0
Eben Yong

バッチファイルへのショートカットを作成し、それをアクションに追加します。私のために働いた

0
Danno Scott