Batch file FTP上载不适用于Windows 7计划程序
我的Win-7上有一个.bat文件,可以通过FTP将文件上传到远程位置。 当我双击它时,效果非常好。 但是当通过计划任务运行它时,我会得到“拒绝访问”,并且它找不到FTP程序 我的批处理文件:Batch file FTP上载不适用于Windows 7计划程序,batch-file,ftp,scheduled-tasks,Batch File,Ftp,Scheduled Tasks,我的Win-7上有一个.bat文件,可以通过FTP将文件上传到远程位置。 当我双击它时,效果非常好。 但是当通过计划任务运行它时,我会得到“拒绝访问”,并且它找不到FTP程序 我的批处理文件: @Echo Off setlocal EnableDelayedExpansion set _my_Current_Folder=C:\VEHADARTA\Routine_Tasks\T001_Daily_Changes Set _FTPServerName=84.95.247.239
@Echo Off
setlocal EnableDelayedExpansion
set _my_Current_Folder=C:\VEHADARTA\Routine_Tasks\T001_Daily_Changes
Set _FTPServerName=84.95.247.239
Set _UserName=XXXX
Set _Password=YYYY
Set _RemoteFolder=public_html/vehadarta/Batch_Jobs/
Set _Filename=Daily_Changes.sql
Set _ScriptFile=ftp1
call :Put_the_Daily_Changes_sql_file_in_FTP_Server
pause
exit
:Put_the_Daily_Changes_sql_file_in_FTP_Server
>"%_ScriptFile%" Echo verbose
>>"%_ScriptFile%" Echo open %_FTPServerName%
>>"%_ScriptFile%" Echo %_UserName%
>>"%_ScriptFile%" Echo %_Password%
>>"%_ScriptFile%" Echo cd %_RemoteFolder%
>>"%_ScriptFile%" Echo lcd %_Current_Folder%
>>"%_ScriptFile%" Echo prompt
>>"%_ScriptFile%" Echo binary
>>"%_ScriptFile%" Echo put %_Filename%
>>"%_ScriptFile%" Echo quit
:: Run script
ftp -s:"%_ScriptFile%"
Del "%_ScriptFile%"
exit /b
通过计划任务运行它,我得到“访问被拒绝”,并且“找不到C:\Windows\system32\ftp1”(将ftp1更改为ftp得到相同的结果):
注意:在我的Win-10上运行相同的调度程序任务时,它工作正常
如果您有任何提示,将不胜感激。计划任务从C:\Windows\System32运行,您没有在那里创建文件的权限 将
cd“%~dp0”
添加到setlocal enabledelayedexpansion
下的代码开头,以便在开始执行操作之前移动到脚本当前所在的位置
另外,不要调用脚本ftp.bat,因为ftp
已经是一个命令