Windows7中使用Task Scheduler調(diào)用WinScp批處理實現(xiàn)上傳下載文件
上一個隨筆中我們提到了在Windows 7操作系統(tǒng)中配置ftp服務(wù)器并通過WinScp客戶端來訪問它,這樣就可以方便的上傳下載文件了。現(xiàn)在又有新的問題,我們發(fā)現(xiàn)如果項目中的文件很多,成百上千個文件,即使WinScp提供方便的文件拖拽功能,還是發(fā)現(xiàn)很繁雜。也許你會想到在dos中使用move命令,但是這個包含了cmd,cd,move等好幾個命令,也是很費時間的。我們試圖找到一種自動執(zhí)行的程序,每隔一段時間來執(zhí)行一次上傳下載,這樣我們的工作就很輕松了。這一次我們將使用dos命令做成bat文件,然后使用Task Scheduler調(diào)度bat來完成這個機械的,呆板的任務(wù)。感慨一下,只要我們想得到的,機器都能做得到!!!
批量上傳
- 通常我們運行dos命令是首先點擊開始-運行,輸入cmd進入dos界面,首先要進入WinScp.exe的安裝路徑才能使用命令來調(diào)用它,否則會提示相關(guān)的 命令或參數(shù)不可識別。這個進入的過程就非常簡單了,鍵入cd D:\InstallFile,鍵入回車,鍵入D:就進入這個路徑了,
因此我們需要使用命令
cd D:\InstallFile
D:
這里請教高手為何要再次輸入D:,鍵入回車才會進入我想要進入的目錄呢? - 輸入命令從本地上傳文件到ftp服務(wù)器,這個命令也是從客戶的服務(wù)器上看到的,在網(wǎng)上查還沒有找到相關(guān)的信息。最后全部的命令如下:
cd D:\InstallFile
D:
winscp421.exe /console /command"option batch continue""option confirm off" "open ftp://ftpuser1: ******@127.0.0.1:21""option transfer binary" "put D:\Documents\Coaching\English\*.txt /Newfolder/""exit"
這里為了方便理解,一一解釋。
winscp421.exe /console /command ::這個就是命令名
"option batch continue" ::這個默認批處理
"option confirm off" ::這個是避免提示
"open ftp://ftpuser1: ******@127.0.0.1:21" ::這個是要訪問的服務(wù)器,這里我訪問本機上的ftp,使用用戶名ftpuser1,密碼******
"option transfer binary" ::這個使用二進制格式傳送
"put D:\Documents\Coaching\English\*.txt /Newfolder/" ::這個從本機文件夾中上傳所有的txt文件,上傳到服務(wù)器Newfolder文件夾中,注意這些內(nèi)容放在一個參數(shù)中
"exit" ::執(zhí)行完命令后退出 - 為了截圖我們?nèi)サ糇詈笠粋€參數(shù)"exit”,將上面的文本復制到txt文件中,修改后綴為UploadFiles.bat,點擊運行,就可以看到運行結(jié)果了如下圖1。如圖可以看到每個文件的名字,大小,傳輸速度等信息

圖1
這樣我們在本地路徑內(nèi)就可以看到文件了如圖2,全是從網(wǎng)上找到英語學習資料
圖2
批量下載
批量下載和上面的命令剛好相反,只需要修改命令行就可以了,代碼如下
cd D:\InstallFile
D:
winscp421.exe /console /command "option batch continue" "option confirm off" "open ftp://ftpuser1:******@127.0.0.1:21" "option transfer binary" "get /Newfolder/*.txt D:\Documents\DownLoad\" "exit"
從代碼里可以看到我們將服務(wù)器中Newfolder文件夾下的所有txt文件下載到D:\Documents\DownLoad,同樣將上面的文本保存為DownloadFiles.bat,點擊運行,運行界面如下圖3
設(shè)置環(huán)境變量
為了找到可執(zhí)行程序,上面命令開頭都添加了語句cd D:\InstallFile D:,我們也可以添加一個環(huán)境變量來保存路徑,這樣就可以省略這兩句。
- 右擊Computer,點擊Properties,進入Windows系統(tǒng)界面,點擊Advance System Setting如圖4

圖4 - 點擊Enviorment Variables,進入環(huán)境,在User Variable中雙擊Path,在最后添加新的變量指向WinScp.exe如圖5

圖5 - 這樣設(shè)置之后就可以修改UploadFiles.bat和DownloadFiles.bat文件,刪除cd D:\InstallFile D:這兩句。做java的對這個應(yīng)該很熟悉。
添加Windows任務(wù)
現(xiàn)在已經(jīng)很方便了,只要點擊bat文件就能實現(xiàn)上傳下載,但是還是覺得很啰嗦,于是我們需要將這兩個bat文件添加到Task Scheduler中,設(shè)置schedule讓他們自己運行。
- 右擊Computer,點擊Manage,打開Computer Management,如圖6

圖6 - 右擊Task Scheduler,點擊Create Basic Task,打開Create Basic Task Wizard界面,輸入task 的名字,如圖7

圖7 - 點擊Next進入Trigger界面,保持默認設(shè)置每天運行,如圖8

圖8 - 點擊Next,默認Start a programe,如圖9

圖9 - 點擊Next,進入Start a Program界面,選中我們剛剛生成的bat文件如圖10

圖10 - 點擊Next,點擊Finish完成之后再Task Scheduler Library中就可以看到我們新建的task。如圖11

圖11 - 雙擊設(shè)置運行屬性,點擊Triggers,設(shè)置每5分鐘運行一次,如圖12

圖12
至此大功告成,每隔5分鐘我們就可以看到彈出一個黑色dos對話框,然后迅速的消失,這就證明我們設(shè)置成功了,程序在按照設(shè)置運行,同時查看相應(yīng)的目錄可以查看上傳的文件。同時也可以把DownloadFiles.bat也添加到Windows任務(wù)中。當下次有這種簡單的但是量多的復制粘貼任務(wù)的時候就可以用到這個東西了,省事啊。
作者:Tyler Ning
出處:http://www.rzrgm.cn/tylerdonet/
本文版權(quán)歸作者和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,如有問題,請微信聯(lián)系冬天里的一把火
浙公網(wǎng)安備 33010602011771號