在开发中往往需要将本地的程序上传到服务器,而且用惯了linux命令的人来说。在windows下就比较麻烦了。为了方便特编写一个BAT程序来帮助需要这样功能的人。如果用其他IDE工具自带的FTP功能也可以,^_^!
     命令: todev.bat /index.asp  默认d:\cnweb为网站的根目录。
     我的 http://www.lawcar.cn/ http://www.myitcar.com/ http://www.stockcar.cn/ http://www.lunwencar.com/ 都是靠这样的方法维护。
@IF "%1"=="" goto error_parm
@
IF "%2"=="" goto error_parm

@SETLOCAL
@
set server=192.168.10.199
@
set username=
@
set password=

@echo 是否上传 d:
\cnweb\%1\%2 到dev服务器!

@echo off
CHOICE 
/C YN /"确认请按 Y,否请按N退出"
if errorlevel 255 goto no
if errorlevel 2 goto no
if errorlevel 1 goto yes 


:no
@echo 
on
@echo 没有任何文件上传到DEV.
@
goto end 

:yes

IF not EXIST d:\cnweb\%1\%2 goto error2

echo open %server% 
> ftp.txt
echo user %username% 
>> ftp.txt
echo %password% 
>> ftp.txt
echo cd %
1 >> ftp.txt
echo bye
>> ftp.txt
ftp 
-s:ftp.txt -n | find "550"
if not errorlevel 1 @goto error
rem del ftp.txt ftperror.txt

echo open %server% 
> ftp.txt
echo user %username% 
>> ftp.txt
echo %password% 
>> ftp.txt
echo cd %
1 >> ftp.txt
echo put d:
\cnweb\%1\%2 >> ftp.txt
echo bye
>> ftp.txt
ftp 
-s:ftp.txt -n | find "Invalid" 
if not errorlevel 1 @goto error3
rem del ftp.txt ftperror.txt

@echo 
on
@echo 上传DEV完成.
@
goto putok 

:
error
@echo 服务器目录错误 %
1 
rem del ftp.txt ftperror.txt
@goto end

:error2
@echo 本地目录错误 d:
\cnweb\%1
@del ftp.txt ftperror.txt
@
goto end

:error3
@echo 上传文件错误 d:
\cnweb\%1\%2
del ftp.txt ftperror.txt
@
goto end

:putok
@echo 上传成功 %
1 %2 !
@
rem del ftp.txt ftperror.txt
@goto end

:error_parm
@echo 参数错误,正确格式: todev 相对路径 文件名
@
goto end

:
end
@echo Bye.
@ENDLOCAL
posted on 2008-12-29 09:17  许维光  阅读(1356)  评论(0编辑  收藏  举报