一、批处理的来源

    最近工作中经常遇到如下情况:

    1. 工作的文档需要放入VSS

    2. 工作的文档由多个文件构成(例如Axure RP生成的原型图),为便于放入VSS,会压缩为一个包

    3. 工作的文档更新频繁

    正常情况下的操作每次需要执行如下步骤:

    1.更新文档

    2.将文档压缩

    3.将原有文档CheckOut,然后用新的文档覆盖,随后CheckIn

    上述偶尔为之尚且无所谓,如果一天要做多次,实在是一件很痛苦的事情。盆地作为懒人,还是要想些方法来避免这种重复劳动。

二、批处理的实现

    还好,Winrar和VSS的客户端SoureAnyware都有命令行模式,于是写了一个批处理文件,通过批处理文件,可以执行一个命令就可以直接完成上述的3个步骤,终于可以小小偷懒一下了。

    批处理文件内容见横线之间部分(不包括横线),不能直接拷贝使用,需要根据自己使用条件更改相应部分:

———————————————————–

rem 删除旧版本
del “Example.rar”

rem 进入目标盘
x:

rem 进入目标目录
cd “X:\DestPath”

rem 重新生成新版本,递归子目录
rar a -r “X:\DestPath\Example.rar” “X:\SourcePath” 

rem Checkout要更新的文件
sawvcmd CheckOutFile  -server xxx.xxx.xxx.xxx -port xxxx -username user_name -alias database_name -prj vss_path -file xample.rar -workdir “X:\VssPath” -pwd *****

rem 去除待CheckIn文件的只读属性,Checkout之后理论上应该没有只读属性,以防万一
attrib -r “X:\VssPath\Example.rar”

rem 如果生成的压缩文件和vss工作目录不是一个目录,则转移过去
move  /Y “X:\DestPath\Example.rar” “X:\VssPath”

rem CheckIn修改后的文件
sawvcmd CheckInFile  -server xxx.xxx.xxx.xxx -port xxxx -username user_name -alias database_name -prj vss_path -file Example.rar -workdir “X:\VssPath” -pwd *****

———————————————————–

(完)

 

标签: , ,
If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting!

8,057次阅读 | penddy on 2009-3-17 21:07 | File Under 软件 | No Comments -