

So for your task to work, schedule it like this. When you double-click on your batch file in explorer, it calls cmd.exe for you, after reading the file associations in the registry. Unfortunately, I must wait on it to finish before I can do any of the logic in my Worker Role. When you type batchfile.bat on the command line, you are telling cmd.exe to read the file and execute each line it finds in it.

However, if I take this approach my batch file will terminate as soon as the task is scheduled, not as soon as it finishes.

Thus, my question is: How do I wait on a Task Scheduler task to finish in a batch file?Īlternatively, I could daisy chain the two calls in my batch file within a single Task Scheduler task (Task Scheduler supports up to 16 sequential events in a single task ). However, this comes with the caveat that I would then need to wait for this task to finish before I could launch program.exe. It therefore appears that the solution is to run the installer as a Task Scheduler task in a real user context.
#Windows task scheduler batch file windows
Elevated batch files must be run from a startup task. 5) In Windows Task Scheduler, select 'create a basic task' (which invokes a wizard).Even with these restrictions this would still be relatively straightforward except that I am running this on an Azure Worker Role, which means two things: This would be relatively straightforward except that the installer needs administrator privileges and must run in a user context. This must be executed after the installation completes. Second it launches an instance of the installed program (program.exe).First it launches an installer (install.exe) which installs a program (program.exe).So tomorrow I want my Task to be run this way: cmd /c MyProcess.exe > c:\myapplog\MyProcess_20200813.I am trying to write a batch file that does two things: Tomorrow if I call GetSuffix.cmd from cmd, it will return 20200813. So today I want my Task to be run this way: cmd /c MyProcess.exe > c:\myapplog\MyProcess_20200812.log So today if I call GetSuffix.cmd from cmd, it will return 20200812. How can I do it?įor example the cmd batch file named GetSuffix.cmd in c:\myapp folder contains these lines: offįor /f "skip=1" %%x in ('wmic os get localdatetime') do if not defined MyDate set MyDate=%%x I ran the Task and it ran successfully but it created MyProcess_ file in c:\myapplog folder. In the Action Start a program of this Task, I mention:Īdd arguments (optional): /c MyProcess.exe > c:\myapplog\MyProcess_ So in Task Scheduler, I created a Task for this purpose. And I want to writes its output in c:\myapplog folder as MyProcess_XXXXXXXX.log file where XXXXXXXX is a string whose value needs to come from the GetSuffix.cmd file. I want to schedule MyProcess.exe file to run every day at a specific time. The value to return is of 8 characters length. For example if you create the task 'DoWork' it will create the task in. The FreeFileSync batch job can be started by double-clicking on the ffsbatch file or it can be set up in your operating systems scheduler: Windows Task. I have a cmd batch file named GetSuffix.cmd in c:\myapp folder which calculates a value and then echoes that value at the end. On newer versions of Windows (Windows 10 and Windows Server 2016) the tasks you create are located in C:WindowsTasks. I have a c:\myapp folder which contains MyProcess.exe file.
