使用bat并集成svn、ftp命令

Bat命令

http://www.cnblogs.com/SunShineYPH/archive/2011/12/13/2285570.html

@Rem  bat调用bat类文件是,cd到该目录,然后 start xxx.bat
@Rem echo 输出文字
@Rem  Rem注释本行,可用 :: 命令代替
@Rem 注释后面内容,不可见,不会输出到cmd界面中
@Rem pause是等待用户按键命令
@Rem exit是退出命令,dir是列举文件夹命令
@Rem >是覆盖文件,'>>'是追加到文件
@Rem /q是删除时,不需要等待手按键,/y是覆盖是不需要手动确认
@Rem 区分目录名、文件名,在目录名后加\
@Rem 目前.svn文件不会自动拷贝到下个目录
@Rem xcopy不会拷贝子目录
@Rem del /s /q /f d:\test\a.bat 删除文件

::del /S /Q 目录 或用:rmdir /s /Q 目录 /S删除目录及目录下的所有子目录和文件。同时使用参数/Q 可取消删除操作时的系统确认就直接删除。(二个命令作用相同)
::md %wwwrootpath% 创建目录

@Rem /y取消提示,直接覆盖文件
@Rem 语法 if "%svn%"==""(echo aa)else(echo bb) 使用圆括号做语法块
@Rem set svn="aaa/sd/df" 可以设置常量 %svn%, 后面可以直接使用%svn% 执行,set 后面赋予的值最好加上引号"",否则有些地方引用不到
@命令 表示不显示本行的执行命令
@echo off|on  表示本行往后的所有的行,命令都 不显示或者显示
@echo "命令执行的相关信息,追加到"  >>  "C:\xxxx\xxx.txt"  将bat中执行的参数信息追加到某log文件
call test2.bat arg1 arg2 调用同目录下的 test2.bat ,且传入2个参数给他
start xxx.exe  调用外部命令、程序、命令行bat等
>写入文件,如果有文件,则覆盖, >> 追加到文件
dir  c:\ > a.txt  列出C:下所有目录,目录写入a.txt
mod  c:\d  创建d目录
copy 只复制目录中文件,不复制文件夹,xcopy则连子目录都复制
if exist a.txt  使用 exist 判断是否存在 a.txt
批处理不能用命令做文件名;如不能起名 ftp.bat 又在ftp.bat中调用ftp命令,调用了自己。。所以会一直循环...
如果else的语句需要换行,if执行的行尾需用"^"连接 

可以拖到cmd里面执行,系统会给出提示错误 

 

xcopy ..\js\t.js ..\js\t\t.js /y
xcopy ..\js\log.js ..\js\log\log.js /y
xcopy ..\js\suggest.js ..\js\suggest\suggest.js /y
xcopy ..\js\loadScript.js ..\js\AnsycLoad\loadScript.js /y
IF ERRORLEVEL 1 (ECHO 文件拷贝失败
) Else IF ERRORLEVEL 0 ECHO 成功拷贝文件
echo js文件已经覆盖
@Rem cd G:\
@Rem cd 
G:\xxx\xxx\xxx\compiler-latest 
路径下有compilar.jar文件
echo 有汉字需要提前转为unicode,unicode转换工 
具,http://www.ljf.cn/download/ParseUnicode.rar
echo 使用compiler.jar压缩js
java -jar ..\gcc\compiler.jar --js=../js/log.js -- 
js_output_file=../js/log.min.js
java -jar ..\gcc\compiler.jar --js=../js/t.js --js_output_file=../js/t.min.js
java -jar ..\gcc\compiler.jar --js=../js/suggest.js -- 
js_output_file=../js/suggest.min.js
java -jar ..\gcc\compiler.jar --js=../js/loadScript.js -- 
js_output_file=../js/loadScript.min.js
@rem 检查是否有错误提醒
pause
@rem 此语法无效...捕获不到java 提供的error ,是不是要用powershell...IF errors 
>0 (echo 错误)
pause

 

SVN命令

  http://linux.chinaunix.net/techdoc/develop/2007/03/21/952839.shtml
http://www.cnblogs.com/chenzhenianqing/archive/2011/09/05/2177096.html

 svn官网命令介绍:http://www.visualsvn.com/support/svnbook/ref/svn/

使用svn命令行帮助信息如: svn help  或者  svn help commit     。。。svn help add等
//添加
svn add aa.txt

//提交 http://www.visualsvn.com/support/svnbook/ref/svn/c/commit/

svn commit aa.txt -m 注释信息

//更新 http://www.visualsvn.com/support/svnbook/ref/svn/c/update/
svn update aa.txt 

//删除
svn delete a.txt -m a is deleting....
svn commit a.txt -m a is deleted comit

具体选项操作介绍: http://www.cnblogs.com/Janry/archive/2011/04/13/2015092.html

 常用选项实例:http://www.chineselinuxuniversity.net/articles/31552.shtml

 

集成实例:

@Rem 功能=> 集成并使用svn更新、提交命令,拷贝js文件到对应本地svn目录;压缩对应js文件
@Rem 条件=> 需要安装 CollabNetSubversion-client-1.6.6-5.win32.exe支持 cmd 中svn关键字(可用方案1替代)
@Rem 文件位置在js文件同目录下

echo bat命令:http://www.cnblogs.com/SunShineYPH/archive/2011/12/13/2285570.html
@Rem ## 语法
@Rem echo 输出文字
@Rem 注释后面内容,不可见,不会输出到cmd界面中
@Rem pause是等待用户按键命令
@Rem exit是退出命令,dir是列举文件夹命令
@Rem >是覆盖文件,'>>'是追加到文件
@Rem /q是删除时,不需要等待手按键,/y是覆盖是不需要手动确认
@Rem 区分目录名、文件名,在目录名后加\
@Rem 语法 if "%svn%"==""(echo aa)else(echo bb) 使用圆括号做语法块
@Rem set svn="aaa/sd/df" 可以设置常量 %svn%, 后面可以直接使用%svn% 执行

@Rem ## bat中使用svn关键字解决方案:
@Rem 方案1=>设置 svn常量
@Rem cd C:\Program Files\TortoiseSVN\bin\
@Rem set svn=TortoiseProc.exe
@Rem start %svn% /command:update /path:"G:\xx\xx\js\t" /closeonend:0

@Rem 方案2=>安装 CollabNetSubversion-client-1.6.6-5.win32.exe
@Rem http://downloads-guests.open.collab.net/servlets/ProjectDocumentList?folderID=313&expandFolder=313&folderID=320
@Rem 可以直接使用全局svn了... svn help

@Rem ## svn更新,确保将要覆盖的js文件最近
cd t
svn update t.js
cd..
cd log
svn update log.js
cd..
cd suggest
svn update suggest.js
cd..
cd AnsycLoad
svn update loadScript.js
cd..
@Rem ## 拷贝覆盖文件到对应svn目录下
xcopy ..\js\t.js ..\js\t\t.js /y
xcopy ..\js\log.js ..\js\log\log.js /y
xcopy ..\js\suggest.js ..\js\suggest\suggest.js /y
xcopy ..\js\loadScript.js ..\js\AnsycLoad\loadScript.js /y
IF ERRORLEVEL 1 (ECHO 文件拷贝失败
) Else IF ERRORLEVEL 0 ECHO 成功拷贝文件
echo js文件已经覆盖
@Rem pause
@Rem ## svn提交覆盖后的js文件
cd t
svn commit t.js -m "使用bat命令提交 t.js"
cd..
cd log
svn commit log.js -m "使用bat命令提交 log.js"
cd..
cd suggest
svn commit suggest.js -m "使用bat命令提交 suggest.js"
cd..
cd AnsycLoad
svn commit loadScript -m "使用bat命令提交 loadScript.js"
cd..
@Rem pause
@Rem cd G:\
@Rem cd G:\xx\x\xxx\gcc 路径下有compilar.jar文件
echo 有汉字需要提前转为unicode,unicode转换工具,http://www.ljf.cn/download/ParseUnicode.rar
@Rem 使用compiler.jar压缩js
java -jar ..\gcc\compiler.jar --js=../js/log.js --js_output_file=../js/log.min.js
java -jar ..\gcc\compiler.jar --js=../js/t.js --js_output_file=../js/t.min.js
java -jar ..\gcc\compiler.jar --js=../js/suggest.js --js_output_file=../js/suggest.min.js
java -jar ..\gcc\compiler.jar --js=../js/loadScript.js --js_output_file=../js/loadScript.min.js
@rem 手动检查是否有错误提醒
@rem 捕获不到java 提供的error ,是不是要用powershell...IF errors >0 (echo 错误)
pause

 

FTP

xx.bat中使用,不要使xx的名字为ftp.bat...会死循环
  ftp -s:ftp.txt

进入 ftp.txt,命令:

ftp

open ftp地址
名字
密码
cd wwwroot
ls >> xx.txt 目录输出到本地txt来
dir
dir >> xxt\xx.txt
delete test.txt  删除文件
rmdir test 删除目录
dir
dir >> xx\xx.txt
close
quit

语法:http://baike.baidu.com/view/528313.htm

详解:http://www.chinaunix.net/jh/7/16796.html

ls,dir展示目录,delete,rmdir删除文件、目录
MDELETE批量删除文件,需配合?或,*

GET下传文件;
  MGET批量下传文件,需配合万用字元,例如:MGET*.GZ;
  PUT上传文件;
  MPUT批量上传文件,需配合万用字元;
  RECV相当于GET(RECV为RECEWE的简写):
  SEND相当于PUT。


ftp> prompt

Interactive mode off.

This command is very much useful command to get the bulk load.

To turn the prompting on… use it again.

ftp> prompt

Interactive mode on.

设置prompt off以后可以下载多个文件,不需要确认问答

http://www.robvanderwoude.com/ftp.php#WGET

binary
prompt n
lcd  c:\sss\sss 设置本地当前目录
lcd  sss相对路径也可以,不用全部路径

mget *.* 获取ftp端该目录下所有文件到lcd目录,子目录不会去获取
http://blog.csdn.net/scz123/article/details/1014415

 ftp中 set xx=""无效"
ftp中 cd .. 回退父目录,需要在cd后面空一格再加..

mput *.*
mdelete *.*

VS命令行
1,msbuild(需要.proj文件)
发布webapplication http://www.cnblogs.com/jzywh/archive/2009/06/26/MSBuildPublishWebApplication.html

2,aspnet_compiler(不需要.proj项目文件)
 cd 到网站目录
aspnet_compiler -v /myapp名字 -p C:\xx\xx\source绝对路径网站目录地址   C:\xx\xx\Target绝对路径发布到的地址   -u 
-u 表示发布的aspx文件可更新,此中发布方式,第一次运行该页是要编译一下,后面直接使用就快了
http://technet.microsoft.com/zh-cn/library/ms247286(zh-tw).aspxASP.NET 合并工具 (Aspnet_merge.exe) 允许您合并和管理由 ASP.NET 编译工具 (Aspnet_compiler.exe) 创建的程序集

http://msdn.microsoft.com/zh-cn/library/bb397866.aspx
www.LcKey.com 提供支持 








转载于:https://www.cnblogs.com/thomaswu/archive/2012/05/23/2514135.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值