自从您提出这个问题以来已经过去了一段时间,这是我的评论,以防将来对您仍然有用。
首先,您想要实现的目标并不完全清楚。请更具描述性,并尽可能提供示例。
我现在所理解的是,您需要通过命令行设置列出为成员修订版的一堆文件。这相当简单,最复杂的实际上是拥有要更新为成员的文件列表以及要设置为成员的修订版本。
我建议您使用命令创建一个批处理文件以使每个文件成员。您可以使用 Regex 非常快速且没有太多麻烦地做到这一点。
以下是更新一个文件成员修订的示例:
si updaterevision --hostname=servername --port=portnumber --user=username --changepackageid=5873763:2 --revision=:working myfile_a1.c
在哪里
servername = 沙箱所在服务器的名称
portnumber = 为您的沙箱提供访问服务器的端口
用户名 = 您的登录用户 ID
changepackageid = 在这里您更改数字以使用您定义的 TASK:ChangePackage 进行此更改
revision = 如果您现在有一个工作版本,您现在想成为会员,只需使用“working”作为修订,否则您可以定义特定的修订号,例如 revision=1.2
最后,您定义要更新的文件的名称。
转到沙箱根文件夹,打开 CMD 窗口,然后运行批处理文件。它将执行应用您更改的每一行。
如果您有一个包含您想要作为成员的修订版本的文件列表,您可以使用 REGEX 将其转换为批处理文件。
文本文件中的文件示例列表:
file1.c 1.10
file3.c 1.19
sec_file1.c 1.1.2.1
support.h 1.7
使用 notepad++ 或其他支持正则表达式的文本编辑器并运行此搜索:
一旦你知道哪个正则表达式适用,你现在可以在记事本++中使用它来进行简单的搜索和替换:
搜索 = ([\w] .[\D] )\s+([\d.]+).*
替换 = si updaterevision --hostname=servername --port=portnum --user=userid --changepackageid=6123933:4 --revision=\2 \1
\1 => 文件名
\2 => 文件修订
请参阅下图作为示例:
最后只需将 doc 保存为批处理文件并运行它。