我通过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,它就会转移到另一个文件夹。)
请帮忙。
谢谢。
答案 0 :(得分:1)
您可以将指示回显到文本文件中,然后使用-s?
与附加图片一样 然后将它们复制到另一个文件夹并删除原件?
@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秒,或直到用户按下某个键继续)