因工作需要,经常要到服务器上下载一个Image到本地,每次都点来点去的,或者敲来敲去的,感觉烦,就捣鼓下bat来写个FTP自动下载,只要一条命令就搞定下载,很是方便。
1. 应用场景
FTP服务器地址: 10.10.10.12
用户名:me
密码:pwd
本地存储路径:c:\tftpboot\
2. 代码
:: File name: MyFTP.bat
:: Description: This bat file downloads file from the 10.10.10.12 FTP server
@echo off
set FTP_CMD_FILE=%temp%\TempAcc.txt
set FTPAddress=10.10.10.12
set TargetPath=c:\tftpboot\
if "%1" == "" goto USAGE
if "%1" == "/?" goto USAGE
if "%1" == "-help" goto USAGE
if "%2" == "" (
set "TargetPath=%TargetPath%%~nx1"
) else (
set "TargetPath = %2"
)
rem ----------------生成FTP命令文件------------------------------------
>"%FTP_CMD_FILE%" echo me
>>"%FTP_CMD_FILE%" echo pwd
>>"%FTP_CMD_FILE%" echo binary
>>"%FTP_CMD_FILE%" echo hash
>>"%FTP_CMD_FILE%" echo get %1 %TargetPath%
>>"%FTP_CMD_FILE%" echo bye
rem ------------------------------------------------------------------
echo FTP is trying to connect %FTPAddress%
ftp -s:"%FTP_CMD_FILE%" %FTPAddress% 2>nul
if ERRORLEVEL 1 (
echo Error: FTP server %FTPAddress% can not be connected!!!
)
if ERRORLEVEL 0 (
echo %~nx1 is downloaded at %TargetPath%
)
del /q %FTP_CMD_FILE%
goto END
:USAGE
echo Usage: MYFTP source [destination]
echo For example:
echo MYFTP /tftpboot/tst.img
echo MYFTP /tftpboot/tst.img c:\tftpboot\tst.img
:END
3. 代码解析
第1-2行:
- :: File name: MyFTP.bat