How to make the task scheduler display the cmd shell when invoking a batch file?

I am using Windows 2008 R2 and I am trying to schedule my application in the Task Scheduler. I have created a batch with the right settings.

The problem I have is: I need to display the Cmd shell window (with the bat running), but the task scheduler launches the application in the background and the Cmd window is no where to seen.

I tried different things from the task scheduler:

- cmd /c start ...MyProgram.bat does not work.
- I tried calling my batch directly does not work.
- I also tried a piece of vbs script with winScriptHost.run does not work either.

What did I miss? How can I resolve this?


Solution 1:

I don't think the task scheduler GUI gives any way to run an interactive task. But the AT command does appear to. I found this article on technet that describes (among other things) the /interactive switch for the AT command.

Solution 2:

If you set a Scheduled Task to "Run only when user is logged on" and you are logged in as that user it will display the command window when the task is executed.

If you set it to "Run whether user is logged on or not" it will hide the command window. I'm guessing this is the option you selected. I don't think there's a way to have it display the command window with this option.

So you'll need to change the "Run" option.

Solution 3:

After reading your post and requirement which I found matching mine requirements too. I did follow the following steps and could able to get my batch script running on desktop (in foreground);

  • Under "Action"-> "Start a program"
  • Under "Program/script" - "C:\windows\system32\cmd.exe /C start D:\(path of script dir)\batch_script.bat"
  • Under "General" -> set "Run only when user is logged on"
  • In my case, I use an admin user id and can keep my login session "locked", I do not know scenario of yours, whether you or other people login in windows 2008 r2 with different ids.So by doing this way I am getting desired output on my windows 2008 r2 server with windows scheduler.

Solution 4:

A better solution to your problem might be to redirect errors and output to a logfile, and just tail that logfile.