Date: 2004/11/26
Email:de_euler-david@yahoo.com.cn
有任何问题,请与我联系:)
最近工作需要将三四百个DLL文件汇入到VSS数据库中,并且一个个打上Lable号,label号取的DLL的版本号(就是选中,点击鼠标邮件,属性里面可以看到的版本号),初步算了一下,这样几百个文件,一个Check out/Check in,再找到Label号,打上Label号,少说也要花上一两天的时间,这样实在是太慢了。下午希望能够通过在DotNet中编程来操作VSS数据库,于是查帮助文档,没有看到相关资料,倒是看到说VSS有命令行可以使用。于是网上搜了一下,也没看到几篇介绍VSS命令行的文章,还是看帮助文档吧,看了一个下午,一个晚上。再结合C#或者C/C++的使用,基本上以后可以实现自动Check Out/Check In并且自动打Label号了。简单总结了一下,下面是VSS的一些常用命令和操作:
2.指向VSS数据库的所在目录
set SSDIR=//gqa-eric-lv/VSS/
3.登陆VSS:
4.获取任一目录的任一文件到本机(下例将$/ASP.Net/DataGridTest/index.aspx文件get到D:/tmp目录)
5.分屏显示目录ASP.Net中的所有文件和文件夹(包括子文件):
6.set Current Project:
7.vss命令行是大小写不敏感的;命令行中的命令不需要全名,同sql一样,只要是可以识别的名字及可,如Dir就是directory的缩写;
8.一些通用的命令行选项:
Option | Description |
-C | 为指定项(可以是多项)做注释 (Dir例外) |
-O | 重定向命令 |
-V | 操作某项的指定版本 |
-R | Perform a command recursively. |
-S | Turn SmartMode on or off for the command. |
-G | Change the way the Get command works on any file retrieved to the local drive. |
-W | 指明本机副本是否只读(使用此参数,表示writable) |
-N | 在长短文件名两种模式间切换 |
-I- | 任何环境下都不提示输入 |
-Y | 指定用户名和密码 |
-?, -H | 两个参数的作用都是获得在线的帮助 |
ss Checkout $/TESTDATA/TEST.C Checkout指定项目中的文件
ss Checkout -R $/TESTDATA 循环Check项目$/TESTDATA
ss Comment TEST.C -V5 改变TEST.C的版本号为5的版本注释
ss Comment TEST.C 改变TEST.C的最新版本的注释
ss Comment $/TESTDATA 改变项目$/TESTDATA的注释
ss Create $/WORD VSS的根目录下,创建项目WORD
ss Create WORD VSS的当前目录下,创建项目WORD
ss Cp $/WORD 设置$/WORD为Current Project
ss Cp .. 跳转到当前项目的父项目
ss Delete $/PRJ 删除项目 (不可以有两个同名的文件被delete,因为没有真正删除)
ss -S Delete *.* 删除所有文件,-S表示删除VSS上的文件之后,删除本机文件
ss Destroy $/PRJ 持久删除项目