通過Windows批處理腳本實現FTP的多文件自動上傳

轉載自http://icitrix.blog.51cto.com/42654/109421


 通過Windows批處理腳本實現FTP的多文件自動上傳
2008-10-31 16:34:57
標籤:職場 ftp 腳本 休閒
原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://icitrix.blog.51cto.com/42654/109421

概要
本文主要介紹如何通過Windows批處理腳本和Task Tools的soon.exe程序實現FTP的多文件自動上傳,詳細的介紹了相應的參數配置。
基本業務需求介紹:
及時將公司業務報文向Edi報文中心發送,Edi中心開放FTP相應目錄進行存儲報文。
  基本思路:
利用dos命令(soon.exe)調用Windows系統的任務計劃,間隔3分鐘調用一下批處理程序將本地的文件上傳到Edi報文中心。其中用到了soon.exe小程序,該程序在Windows
系統盤的Support目錄中可以找到;其次將ftp的上傳命令寫在一個腳本中進行調用。
適用於:
Windows XP、Windows 2000、Windows2003系統(已測試)

腳本代碼說明:
------------第一個文件:StartFtp.bat------------------------------
@echo off
rem ////////////////////////////////////////////////////////////////////////////////////
rem // ivan_wang 2007-2-6 QQ:272022323
rem // use SOON schedules a job to run in the near future,a number of seconds from now.
rem // Command line: SOON [server] 60 [Run batch]
Rem ////////////////////////////////////////////////////////////////////////////////////

c:\AutoFtpUp\soon.exe 180 c:\AutoFtpUp\StartFtp.bat
c:\AutoFtpup\FtpToEdi.bat
---------------------------------------------------------------------------
調用SOON程序,在180(秒)後自動運行StartFtp.bat腳本,目的是將腳本的運行寫入到任務計劃中,每隔180秒運行一下FtpToEdi.bat,實現自動上傳。

--------------第二個文件:FtpToEdi.bat------------------------------
ftp -s:c:\AutoFtpUp\ftp.scr
copy d:\EdiCode\*.* d:\EdiCode_BK\ /y
del d:\EdiCode\*.* /Q
---------------------------------------------------------------------------
調用ftp上傳腳本,-s參數是將Ftp.scr腳本中的命令自動調入FTP環境運行。接下來的兩句,主要是將本地的EdiCode目錄中的文件在上傳過後,進行一次備份並清除,以免每次上傳時上傳重複的文件造成帶寬資源的浪費(Edi中心是論KB來算Money的,哈哈)

--------------第三個文件:ftp.scr-----------------------------------
open xxx.xxx.xxx.xxx
user
edi
0808
prompt off
mput d:\EdiCode\*.*
bye
quit
-------------------------------------------------------------------
open [Remote server],Ip地址或Ftp服務器名,接下來是User命令,注意在Windows中這裏的User必須單獨一行,在下一行是用戶名(edi)密碼(0808),直接輸入即可,前面不要再加user和Pass,接下來的Prompt off比較重要,在Windows中默認Prompt是開啓狀態,只有設爲OFF狀態時,使用mput纔會傳輸本地目錄下的所有文件,無需用戶對每個文件進行確認;mput d:\EdiCode\*.*是將本地目錄下的所有文件上傳到遠程服務器的當前目錄,bye是與遠程服務器斷開連接,Quit是退出FTP環境。關於FTP的詳細子命令可以查看Windows的幫助。
對於程序運行的間隔時間可以根據業務需求調整,當然如果你的業務需求非常嚴格,那麼還是開發一個相應的程序比較理想,因爲在FTP將現有文件上傳到遠程服務器,開始備份清空本地目錄文件時無法保證此時系統生成的報文的文件不被誤刪除,但對於數據傳輸不是異常頻繁且要求不是非常苟刻的情況下,該腳本還是很方便的,希望本文能對你有些幫助。

本文出自 “伊凡博客” 博客,請務必保留此出處http://icitrix.blog.51cto.com/42654/109421

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章