设为首页 收藏本站
查看: 1386|回复: 0

使用bat并集成svn、ftp命令

[复制链接]

尚未签到

发表于 2015-5-27 10:55:26 | 显示全部楼层 |阅读模式
  Bat命令
  http://www.iyunv.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.iyunv.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 cmmit的选项:
--changelist (--cl) ARG
--depth ARG
--editor-cmd CMD
--encoding ENC
--file (-F) FILENAME
--force-log
--keep-changelists
--message (-m) MESSAGE
--no-unlock
--quiet (-q)
--targets FILENAME
--with-revprop ARG

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

  具体选项操作介绍: http://www.iyunv.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.iyunv.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.iyunv.com/scz123/article/details/1014415

  ftp中 set xx=""无效"
ftp中 cd .. 回退父目录,需要在cd后面空一格再加..
  mput *.*
mdelete *.*
  VS命令行
1,msbuild(需要.proj文件)
发布webapplication http://www.iyunv.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 提供支持

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-71177-1-1.html 上篇帖子: java+jsp代码实现从FTP服务器上传下载文件 下篇帖子: 利用denyhosts轻松实现,sshd和ftp暴力密码破解防御
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表