使用bat上傳FTP檔案

2021-07-30 08:04:25 字數 2205 閱讀 2322

@echo off

rem 2017-04-10

rem by geln

rem 演示ftp命令列上傳單個檔案,沒有設定ftp的上傳目錄

rem 上傳成功返回0,上傳失敗返回1

rem 設定變數

::外部呼叫:

::ftp_up上傳檔案.bat 主機ip 使用者名稱 密碼 當前計算機上傳目錄 上傳檔名

if not "%1" == "" (

if not "%2" == "" (

if not "%3" == "" (

if not "%4" == "" ( 

if not "%5" == "" ( 

set ftp_server=%1

set user=%2

set pwd=%3

set filedir=%4

set filename=%5

)))))

rem 檢查檔案是否存在,存在就先刪除再上傳

echo open %ftp_server%>%ftpruncheckexist%

echo %user%>>%ftpruncheckexist%

echo %pwd%>>%ftpruncheckexist%

echo binary>>%ftpruncheckexist%

echo dir . "%ftpdirtxt%">>%ftpruncheckexist%

echo bye>>%ftpruncheckexist%

ftp -s:%ftpruncheckexist%

set bexist=no

for /f "tokens=4 delims= " %%a in (%ftpdirtxt%) do (

if "%%a" == "%filename%" ( 

set bexist=yes

) )if "%bexist%" == "yes" (

echo open %ftp_server%>%ftprundelete%

echo %user%>>%ftprundelete%

echo %pwd%>>%ftprundelete%

echo delete "%filename%">>%ftprundelete%

echo bye>>%ftprundelete%

ftp -s:%ftprundelete%

)rem 將ftp執行內容輸出到ftp.up檔案

rem 注意 >> 前不要有空格,以防將空格識別為密碼內容而導致登入失敗

echo open %ftp_server%>%ftprun%

echo %user%>>%ftprun%

echo %pwd%>>%ftprun%

echo binary>>%ftprun%

echo put "%filedir%%filename%">>%ftprun%

echo dir . "%ftpdirtxt%">>%ftprun%

echo bye>>%ftprun%

rem 使用-s執行檔案中的內容

ftp -s:%ftprun%

rem 判斷上傳成功或失敗

set res=failed

for /f "tokens=4 delims= " %%a in (%ftpdirtxt%) do (

if "%%a" == "%filename%" ( 

set res=successful

) )rem 刪除臨時檔案

del %ftprun% /q

del %ftpruncheckexist% /q

del %ftprundelete% /q

del %ftpdirtxt% /q

echo %res%

if "%res%" == "successful" (

@exit /b 0

)@exit /b 1

rem pause

使用ftp上傳檔案

當初做這個的緣由是甲方要求使用者上傳的檔案單獨存放在另一台伺服器上即檔案伺服器與專案所在伺服器分離。commons net commons net 3.6 工具類 檔案伺服器在阿里雲,注意主動模式和被動模式配置 public static boolean storeftpfile string no...

java使用ftp上傳檔案

linux伺服器配置 安裝ftp yum install vsftpd 啟動服務 service vsftpd start 開機啟動 chkconfig level 35 vsftpd on 設定許可權 vi etc vsftpd vsftpd.conf 將配置檔案中 anonymous enabl...

FTP檔案上傳

是網上找的例子,原文找不到了。public class ftputils2 return 判斷是否登入成功 public boolean ftplogin else ftp伺服器連線回答 int reply this.ftpclient.getreplycode if ftpreply.isposi...