windows bat的上传ftp服务器

第一篇正式的blog献给shell,献给郭嘉~

因为在windows平台上写过次往ftp上传文件的程序.

当时借助的mfc的类函数,写的磕磕巴巴,勉强实现断点续传

这回又让往ftp上传文件,不过网络貌似很稳定,加上最近沉迷脚本,so试着脚本解决问题

因为传的东西有可能有很深的子目录,所以在网上的思虑上加以改进,使其在ftp上保有原盘上的目录/子目录结构


@echo off

setlocal enabledelayedexpansion
chcp 936
::tmpup为一个临时文件
::用于给dos ftp执行,我们把其放在c盘下
set tmpup=c:\tmpup

::设置ftp参数
echo open [ftp address]>>%tmpup%
echo [username]>>%tmpup%
echo [password]>>%tmpup%
echo cd.\>>%tmpup%
echo binary>>%tmpup%

::设置ftp上的目录
set /p root=

set lasp=""
::得到当前目录下的全部文件
for /r %cd% %%h in (*.*) do (
set cc=%%~dph
set curp=!cc:%cd%=!
echo !curp!
if not !lasp!==!curp! (
set lasp=!curp!
echo mkdir %root%!lasp!>>%tmpup%
echo cd %root%!lasp!>>%tmpup%)
echo put %%h>>%tmpup%
pause)

echo bye>>%tmpup%
endlocal
::ftp执行tmpup
ftp -s:%tmpup%
del %tmpup% /q




P.S. shell这么强大的东西以前不会用,感觉以前像个拿突击步枪当棒槌用的原始人 - (=  v=)

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