@echo off REM 配置基本盤符,主目錄和文件存放目錄 set BASE=d: set BASE_PATH=D:\doc\一卡通\ftp set LOG_FILE=%BASE_PATH%\ftpgetfile.log set FLAG_FILE=%BASE_PATH%\tmp.tmp ##因要和另一個程序通信,因此用了這個狀態標誌文件,程序開始時寫0進去, 結束時再修改成1。這樣另外一個程序就能夠判斷什麼時候文件接收結束,並開始處理文件。 set SAVE_PATH=%BASE_PATH% set TMP_PATH=%BASE_PATH%\temp set REMOTE_PATH=/home/ecton/data/download/1234 REM 程序開始運行 echo =========================================================== >> %LOG_FILE% set DATET=%date%%time% echo 程序開始運行,時間:%DATET% >> %LOG_FILE% %BASE% if not exist %BASE_PATH% ( mkdir %BASE_PATH% ) if not exist %SAVE_PATH% ( mkdir %SAVE_PATH% ) if not exist %TMP_PATH% ( mkdir %TMP_PATH% ) cd %TMP_PATH% echo 0 > %FLAG_FILE% if not exist %SAVE_PATH% ( echo 沒法找到標誌文件%SAVE_PATH% >> %LOG_FILE% goto _END ) ftp -n -s:"%BASE_PATH%\getfile.ftp" >> %LOG_FILE% echo 本次得到的文件以下:>> %LOG_FILE% dir /B %TMP_PATH%\S*.edb > %TMP_PATH%\filelist.tmp ##本次接收的文件列表,供movefile.bat刪除文件的標識 dir /B %TMP_PATH%\*.edb >> %LOG_FILE% move /Y %TMP_PATH%\*.edb %SAVE_PATH%\ FOR /F "usebackq delims=" %%i IN (`type filelist.tmp`) DO call %BASE_PATH%\movefile.bat %%i %LOG_FILE% % REMOTE_PATH% :_END echo 1 > %FLAG_FILE% del %TMP_PATH%\filelist.tmp set DATET=%date%%time% echo 程序運行結束,時間:%DATET% >> %LOG_FILE% echo =========================================================== >> %LOG_FILE% exit
open 192.168.0.208 user ecton huateng cd /home/ecton/data/download/1234 prompt off mget *.edb #也能夠添加put、mput文件等其餘操做 cd /home/ecton/data/download/pub mget *.edb bye quit exit
echo open 192.168.0.208 >ftp.txt echo user ecton huateng >>ftp.txt echo cd %3 >>ftp.txt echo prompt off >>ftp.txt echo delete %1 >>ftp.txt ##這裏是做刪除動做,也能夠rename echo bye >>ftp.txt echo quit >>ftp.txt echo exit >>ftp.txt ftp -n -s:ftp.txt >>%2 del ftp.txt