写bat脚本遇到的尴尬事情

最近写一个bat脚本:查找哪一次更改把程序给搞崩溃(Crash)了。本人用的是perforce版本管理,找这个crash在debugger下实在难找,就只能这样了。

面对一堆changelists,采用折半查找吧。首先我要用到时xcopy这个命令:把编译好的exe目录文件拷贝到相应的目录下面: 比如编译好的exe目录是F:\\Build\\exe目录,

而我要拷贝到的目录是:E:\\changelist1目录。本来以为直接写:xcopy F:\\Build\\exe\\  E:\\changelist1\\就行了,后来居然出现:invalid path的提示(:,后来检查我的路径什么的,都对阿,看来神奇了,最后就才发现最后目录不要"\\"符号,我晕,终于拷贝了,但发现,目录里下的子目录没有拷贝,google下,才知道需要加一些指定符,最后才成功:xcopy F:\\Build\\exe E:\\changelist1 /D /S /Y  。接下来要实现sync to changelist and build,perforce有非常好的接口(commands), 直接调用就好了。

大家对bat中的pushd %1 和popd %1, 估计不是太熟悉,哥们也是找了许久,才知道。%1 就是你的命令行上的第一个参数,比如我的命令行的第一个参数是F:\Build\exe 。而pushd %1 就是告诉电脑进入第一个参数的目录里,相当于cd F:\Build\exe 。然后在此目录下再做一些其他你想要的操作。

 

终于把bat写出来了,名曰:sync_to_changelist_build.bat ,稍微试了一下,可以用了。就在我高兴的时候,巨大的尴尬从天而降:

本人向跑完bat后,就再执行copy操作:

sync_to_changelist_build.bat F:\\Build\\exe 15688

xcopy F:\\Build\\exe E:\\changelist1 /D /S /Y

哥们写完,就让电脑自己跑去吧,就等明天看结果。

这不明天看的时候,根本就没有xcopy的动作,太难受了。

后来查资料,问牛人,才知道:我丢了一个关键字call,call sync_to_changelist_build.bat F:\\Build\\exe 15688

改后是:

call sync_to_changelist_build.bat F:\\Build\\exe 15688

xcopy F:\\Build\\exe E:\\changelist1 /D /S /Y

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值