批处理文件和ftp脚本有效,除非与任务调度程序一起使用

时间:2015-05-12 15:26:19

标签: batch-file ftp scheduled-tasks

我编写了一个调用FTP脚本的批处理文件,该脚本从远程服务器下载多个文件夹中的文件。当我执行批处理文件时,它完美地工作。但是,当我使用任务计划程序安排它时,除了一个特定文件夹中的文件外,它会删除所有文件。

我已经检查了权限,那里没有问题。批处理文件和FTP脚本的相关部分如下所示。出于这个问题的目的,我缩短了两者。所以问题是为什么它会从" RWSmith"目录但不是" TrimarkFoodcraft"从任务计划程序运行时的目录。我知道批处理文件不区分大小写,但我添加了额外的后缀,因为文件以.DAT而不是.dat结尾,并且它们没有下载。

脚本和批处理文件位于Windows Server 2008 R2上,从中下载的服务器是Windows Server 2003。

批处理文件:

ftp -i -s:ftpCommands.txt 0.0.0.0

FTP脚本:

username
password




cd "AdamsBurch"</br>
lcd "C:\EDIScanner\DistributerEDIFiles\AdamsBurch"
mget *.dat
mdelete *.dat


cd \
cd "RWSmith"
lcd \
lcd "C:\EDIScanner\DistributerEDIFiles\RWSmith"
mget *.dat
mdelete *.dat


cd \
cd "TrimarkFoodcraft"
lcd \
lcd "C:\EDIScanner\DistributerEDIFiles\TrimarkFoodcraft"
mget *.dat
mget *.DAT
mdelete *.dat
mdelete *.DAT


close
bye

1 个答案:

答案 0 :(得分:0)

The FTP account might not be in the root directory. After connecting, use int msdigits = i/10; int lsdigit = i%10; if (msdigits) { printf("%d", abs(msdigits)); } printf("%d", abs(lsdigit)); to see what directory is current.

pwd

Instead of assuming the directories are off of the root, use relative references.

username
password
pwd