使用.BAT将文件上传到FTP只需一次

时间:2017-11-09 13:51:30

标签: batch-file

我通过BATCH文件将自动文件(.doc)上传到FTP服务器。然后我每隔几分钟就通过任务调度程序运行BATCH文件。

以下两个批处理文件为我工作:

upload.bat: -

open ftp.servername.com
username
password
cd FOLDER_NAME
binary
put D:\TEST\*.doc
bye

上面的.bat文件由以下.bat文件调用,

startupload.bat: -

ftp -i -s:upload.bat

现在,客户端在上传文件后会从FTP中删除文件。

因此,对于上述批处理文件,文件会被重复上传。

因此,我的要求是每个.doc文件只能上传一次,

(OR,

可能是,一旦文件成功上传到FTP,它就会转移到另一个文件夹。)

请帮忙。

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以将指示回显到文本文件中,然后使用-s?

与附加图片enter image description here一样 然后将它们复制到另一个文件夹并删除原件?

@echo off

echo open serveraddress >ftp.txt
echo username>>ftp.txt
echo password>>ftp.txt
echo cd FOLDER_NAME>>ftp.txt
echo binary >>ftp.txt
echo "LCD D:\TEST\"
echo mput *.doc>>ftp.txt
echo bye>>ftp.txt
ftp -s:ftp.txt
del /f /q ftp.txt
copy "D:\TEST\*.doc" "C:\otherFolderPath\"
del /f /q "D:\TEST\*.doc"
::NOTES:
:: you can use ">>" to put the output of a command into a text file.
:: you can use ">" to put the output of a command into a text file. ">" Will clear a file if it exists, and will create a new file if it does not.

注意:如果您希望它等待一段时间然后再次运行,您可以将其添加到脚本的末尾:Timeout /t 60(等待60秒,或直到用户按下某个键继续)