Command line Sourcesafe命令行选项

Command line Sourcesafe命令行选项,command-line,visual-sourcesafe,default-value,prompt,suppression,Command Line,Visual Sourcesafe,Default Value,Prompt,Suppression,我对Microsoft Visual Sourcesafe命令行选项有问题,我希望有人遇到过并能帮助我 我在DOS批处理文件中有以下行 "c:\Program Files\Microsoft Visual SourceSafe\ss.exe" GET "$/Development Projects/Activity" -GL"C:\Compile\Activity" -R -Q -Yname,password 在批处理文件中执行此行时,将出现以下提示 将C:\Compile

我对Microsoft Visual Sourcesafe命令行选项有问题,我希望有人遇到过并能帮助我

我在DOS批处理文件中有以下行

"c:\Program Files\Microsoft Visual SourceSafe\ss.exe" GET 
    "$/Development Projects/Activity" -GL"C:\Compile\Activity" -R -Q 
    -Yname,password
在批处理文件中执行此行时,将出现以下提示

将C:\Compile\Activity设置为project$/Development Projects/Activity的默认文件夹?(Y/N)

我需要抑制此提示,以便让脚本在无人参与的情况下运行。我认为-Q选项将允许静默运行,但它不会抑制此提示


我已经搜索过了,似乎找不到一个可以删除此提示的选项。我不想为项目设置默认文件夹,所以如果可能的话,我想将答案默认为“N”。

我以前遇到过这个问题(老实说,感觉像前世一样),也无法解决

最后,我编写了一些jscript来创建VSS Automation对象,显式地打开正确的数据库并执行各种必要的操作,从命令行用cscript调用脚本

我似乎记得签出、签入和获取时使用了不同的脚本,尽管这可能有些过分

对不起,我帮不上忙了,如果我手头有代码,我会把它贴在这里。

Scott

这就是我们如何为每日构建获取最新版本的方法

SET SSDIR="c:\Program Files\Microsoft Visual SourceSafe"
SET SSUSER=Name
SET SSPWD=Password

CD C:\Compile\Activity
SS CP "$/Development Projects/Activity"
SS Get *.* -I -Y -R -W
我不完全确定Get
*.
是否有效。我似乎记得在这方面遇到过麻烦。我们的实际脚本为我们需要的每个文件扩展名执行get,如中所示

Get *.pas -I -Y -R -W
Get *.dfm -I -Y -R -W

编辑:我会试着对它进行进一步的头脑风暴

SS Get * -I -Y -R-W

我认为列文的回答对你来说可能是一个赢家,但如果不是,你可以尝试向命令输入“N”来回答提示:

@echo n | "c:\Program Files\Microsoft Visual SourceSafe\ss.exe" GET 
    "$/Development Projects/Activity" -GL"C:\Compile\Activity" -R -Q 
    -Yname,password

你可以试试下面的方法。与
-GF
选项一起使用,使其能够拾取命令行变量更改。也许它可以与
-GF
一起使用。不过不确定

SET Force_Dir=YES

"c:\Program Files\Microsoft Visual SourceSafe\ss.exe" GET 
    "$/Development Projects/Activity" -GF -GL"C:\Compile\Activity" -R -Q 
    -Yname,password

以下将对所有提示回答“否”


-I-N

-I-Y
对所有是或否问题回答是


SourceSafe工作文件夹保存在SSDIR的users子文件夹下的ss.ini文本文件中。每次你移动到新电脑或以新用户身份登录SS签出文件时,都会收到提示。要禁止此操作,您应使用SS Workfold project folder命令明确设置您的工作文件夹,或使用您的工作文件夹首选项预填充SS.ini文件。

@Binary Worrier-我担心可能是这样。如果是这样的话,那么我就必须拿出一个小程序来做。谢谢大家!@帕特里克·卡夫-谢谢你!回声成功了。我感谢你的帮助!您可以使用选项“-I-N”而不是使用echo管道,因为它更优雅SSDIR和path之间不应该有任何空格,否则您会得到path not found错误()。因此,在您的示例中,它应该设置为SSDIR=“c:\…”