Command works from command line, but not from Task Scheduler

6,541

It should work when you add /c as parameter for cmd.exe to run the command (ftp):

C:\Windows\System32\cmd.exe
/c ftp -i -s:C:\<path-to-file>\ftp.dat

You can also try this 'whole' thing on the command line:

cmd /c ftp -i -s:C:\<path-to-file>\ftp.dat

Without /c it just opens a console within the console, note executing the command.

Share:
6,541

Related videos on Youtube

Tom smith
Author by

Tom smith

Updated on September 18, 2022

Comments

  • Tom smith
    Tom smith over 1 year

    I want a Windows scheduled task to execute an FTP batch file which will upload some files to my server. If I run the argument below from the command line then it executes successfully.

    ftp -i -s:C:\<path-to-file>\ftp.dat
    

    When I try and run this through a scheduled task it always gets to created task process and stays like this; it does not complete or fail. I have also tried this without the put commands and it still does it so it's not as if it is waiting to transfer the files.

    I am creating the task through the task scheduler GUI on Windows Vista. Under the general tab I have run whether the user is logged on or not and run with highest privileges set.

    Under actions it is set to run C:\\Windows\System32\cmd.exe.

    And the argument is

    ftp -i -s:C:\<path-to-file>\ftp.dat
    

    The ftp.dat file looks like this:

    open ftp.mysite.co.uk
    myUsername
    myPassword
    put C:\<path-to-file>\file.xml
    put C:\<path-to-file>\file2.xml
    bye
    

    I don't understand why this runs perfectly fine manually from the command line, but not from the scheduled task.

    • Vomit IT - Chunky Mess Style
      Vomit IT - Chunky Mess Style over 6 years
      Check out this post for some helpful tips that will likely help you resolve if you've not already: superuser.com/questions/1005192/… I'll be happy to further help if you wish, just tag me back if so.
  • Acrklor
    Acrklor over 9 years
    I had issues with different commands running directly which could be averted running it through cmd. Not specifically with ftp (and didn't try it), however I assumed he had similar reasons for this and wanted to change as little as possible in my answer.