scheduling task from the command line + windows7 + spaces + arguments - windows

I am trying to become familliar with add task to task scheduler via the command prompt. I seem to be having difficuly with spaces.
This command works successfully in creating a task:
schtasks /create /tn \Daily\SOTask /tr "C:\Users\User Name\FolerWhereScriptIs\vbsScript.vbs" /sc daily /mo 1 /st 08:50
SUCCESS: The scheduled task "\Daily\SOTask" has successfully been created.
However, when I open the properties of this task in task scheduler i see in:
Program/script: C:\Users\User
Add arguments(optional): Name\FolerWhereScriptIs\vbsScript.vbs
Start in(optional): empty
this is obviously not what I want. ideally I would like:
Program/script: C:\Windows\System32\WScript.exe
Add arguments(optional): "C:\Users\User Name\FolerWhereScriptIs\vbsScript.vbs"
Start in(optional): C:\Users\User Name\FolerWhereScriptIs\
How do I achive this from the command line?
This lists all tasks in the Daily folder (so I can see the one I jst created)
schtasks /query /TN Daily\
NOTE: To get this far I ahve gotten help for here and here
EDIT1 I found help here and it mentions using a /V1 flag but todate I cannot get to work. Another Option would be to use XML, whcih I will investigate again. For now I will use the command for setting up my schedule and then go into task scheduler to set the Start in(optional): in directory.

Related

Tasks in task scheduler not running from cmd

I am using command line to create tasks, run them as well as delete. I am able to create tasks in the scheduler with no issue but when i run it via command line it immediately gets stuck as "queued". But when i go to task scheduler GUI and click "run" the tasks run properly. What could i be doing wrong? I am using windows 10. After running it on cmd it outputs "SUCCESS: Attempted to run the scheduled task "_a"." But still nothing happens unless i go the GUI of task scheduler and run it from there.
Here is a code i tried to schedule notepad:
schtasks /create /ru yanic /sc daily /tn "note" /tr C:\windows\system32\notepad.exe
SCHTASKS /RUN /TN "note

How to update a Windows Task Scheduler task from an updater/script running as admin

I'm writing an updater for my application and want to change my "Windows Task Scheduler" task configured by:
schtasks /create /sc once /tn my_task /tr MyApp.exe /rl highest /st 00:00
The updater is running "with highest privileges" and I mainly want to change the path of MyApp.exe.
I've tried:
schtasks /Change /tn my_task /tr MyUpdatedApp.exe (But it asks: Please enter the run as password for... even though the script already runs as admin. And so is not user friendly or even working in my scripted update.)
A powershell script using Get-/Set-ScheduledJob (But it says: A scheduled job definition with Name my_task could not be found. The help text even states Although jobs that are created by using the Register-ScheduledJob cmdlet appear in Task Scheduler, Get-ScheduledJob gets only scheduled jobs. It does not get scheduled tasks created in Task Scheduler.)
How can I updated my scheduled task from my updater/script without user interaction?
I've resorted to exporting and recreating the task using an XML file with the following command:
schtasks /create /f /tn my_task /xml C:\somewhere\my_task.xml
I create the my_task.xml file by exporting it by hand in the GUI and storing it as part of my application.

Windows script to move files on create

I want to write a Windows script (running in Windows 7) that runs every time when a new files has been created in a specified folder. It then checks weather the newly created file matches a certain naming convention and if so it moves it to a different folder.
How can I do the above?
If it doesn't have to be immediately after the files are created, then maybe simple task, checking the folder with interval and using robocopy to move the files will suffice? This can be accomplished with Task Scheduler:
schtasks /create /sc minute /mo 3 /tn FileCopy /tr ROBOCOPY C:\source_folder c:\destination_folder some_file_name*.* /MOV
/sc - Specifies the schedule frequency
/mo - Refines the schedule type to allow finer control over schedule recurrence. In this case it just specifies how many minutes until the task is run again
/tn - Name for the task that will be visible in task scheduler
/tr - Task to be executed /rl
You can also append /rl HIGHEST if you need more privileges to complete the task, and /ru SYSTEM to execute as SYSTEM user (you'll need admin privilege for that), so there won't be any console windows popping out every time tasks executes.

schtasks: setting a working directory?

I have a program I am trying to run on logon which is dependent on files that are in the same directory that it resides. By manually running the program from the command line, which I have cd'd to, everything runs as it should. However, if I schedule a task to run the program I get an error from my program that complains about not finding a file it needs. So my question(s) is/are: 1.) Is the working directory of a scheduled task the location of the program? 2.) If not, how would I set the working directory to the location of the program?
Here is the code I am using the schedule my task:
SCHTASKS /Create /TN "Test" /TR $MyLocation\Test.exe /sc onlogon /RL Highest
Where "$MyLocation" is a powershell variable that I set to reference the directory of my program.
I've got around this in the past by using a batch file. There's a neat trick you can use in a batch file which will give you the directory that tha batch file is located in. So, you can very easily run the app you want. Create a batch file with the following contents and place it in the directory next to your app, then set it's path as the value for the /TR argument.
%~dp0\Test.exe
Strictly speaking, the backslash isn't required as %~dp0 includes a trailing backslash anyway. I think it makes the batch file a bit more readable though.
If you run a script and send $MyLocation in as a parameter something like this would set up the task o:
$cmdFile = "$MyLocation\Test.cmd"
New-Item $cmdFile -type file
"cd $MyLocation" >> $cmdFile
"powershell -command '& {$($MyLocation)\Test.exe}'" >> $cmdFile
SCHTASKS /Create /TN "Test" /TR $cmdFile /sc onlogon /RL Highest
GĂ­sli

Windows + php + schtasks = folder/file name mismatch or action not found

I am setting custom schtasks in windows using php to write and execute .bat files like this one:
schtasks /create /tn "RA AUTOMATIC BACKUP" /tr "\"C:\Program Files (x86)\MBM Software\Apache\htdocs\ra\automatic_backup\scriptspg_backup.bat\"" /ru "ProiectIM3" /rp "parola1" /sc minute /mo 1
The touble starts now:
1) if i don't use "\" after /tr the schedule tasks has the action: C:\Program Files and the rest is viewed like an argument
2) if i use "\" the schedule has the right action written:
"C:\Program Files (x86)\MBM Software\Apache\htdocs\ra\automatic_backup\scripts\pg_backup.bat" (quotes included)
BUT it will not run, on the other hand if i click on browse, set up the same file the action becomes
"C:\Program Files (x86)\MBM Software\Apache\htdocs\ra\automatic_backup\scripts\pg_backup.bat" (quotes included) and IT RUNS so the paths are EXACTLY the same but will not run with the first.
I am out of ideeas.
what is your OS and OS language? the /SC parameter is language-specific on old OSes. I.e. it is MINUTO, not MINUTE on Portuguese Windows XP. Also, try to include computer or domain name in the user's name

Resources