Perforce:是否有任何命令来检查客户端规范是否存在

Perforce:是否有任何命令来检查客户端规范是否存在,perforce,perforce-client-spec,Perforce,Perforce Client Spec,实际上,我需要编写一个批处理脚本,首先我需要检查所需的客户端规范是否已经存在? 如果存在,那么我应该删除它 如果所需的客户端规范存在或不存在,请告诉我们如何签入脚本?我从您的评论中看到您找到了解决方案,但这里还有另一个问题 如果您想用该名称删除客户机,只需尝试删除该客户机,就可以省去对p4客户机的调用。如果它存在,它将被删除(除非它有搁置的文件等)。如果它不存在,那么它是不可操作的-没有伤害,没有犯规。试试: p4 client -o -t $CLIENT_NAME_YOU_WANT_TO_CH

实际上,我需要编写一个批处理脚本,首先我需要检查所需的客户端规范是否已经存在? 如果存在,那么我应该删除它


如果所需的客户端规范存在或不存在,请告诉我们如何签入脚本?

我从您的评论中看到您找到了解决方案,但这里还有另一个问题

如果您想用该名称删除客户机,只需尝试删除该客户机,就可以省去对
p4客户机的调用。如果它存在,它将被删除(除非它有搁置的文件等)。如果它不存在,那么它是不可操作的-没有伤害,没有犯规。

试试:

p4 client -o -t $CLIENT_NAME_YOU_WANT_TO_CHECK
它的作用是——尝试从另一个客户端的规范创建一个客户端,作为我的“新客户端”的模板

如果有输出(意味着$CLIENT\u NAME\u您希望\u CHECK实际存在)-它将以文本形式显示其规范到标准输出,而无需进入编辑器,如果客户端不存在-它只输出到标准输出:

Client '$CLIENT_NAME_YOU_WANT_TO_CHECK' doesn't exist.
“-o”在屏幕上打印,而不是实际创建客户端。。。
很好的技巧,为我做这项工作,希望有帮助:)

在Windows命令行上,您可以执行类似的操作

set P4CLIENT=client-name
p4 clients -e %P4CLIENT% | findstr %P4CLIENT% >nul
p4客户端-e%P4CLIENT%
将输出所有匹配的客户端
%P4CLIENT%
findstr
将搜索
p4客户机的输出
以查找客户机名称并打印出来。重定向到
nul
将抑制此输出,但
findstr
将另外设置
%errorlevel%
变量

一些例子:

p4 clients -e existing-client | findstr existing-client >nul
echo %errorlevel%
将返回0

p4 clients -e does-not-exists | findstr does-not-exists >nul
echo %errorlevel%
将返回1

如果要执行某些操作,如果给定的客户端空间不存在,则可以运行以下命令:

p4 clients -e does-not-exists | findstr does-not-exists >nul || create-client.bat
p4 clients -e does-not-exists | findstr does-not-exists >nul && do-something.bat
如果要执行某些操作,如果给定的客户端空间确实存在,则可以运行以下命令:

p4 clients -e does-not-exists | findstr does-not-exists >nul || create-client.bat
p4 clients -e does-not-exists | findstr does-not-exists >nul && do-something.bat

感谢Performce在线聊天支持的Adam

执行一个
p4客户端-o客户端名称
并检查是否存在更新:或访问:字段。这些将为已经存在的客户端设置,但不会为不存在的客户端设置

如果您使用的是2013.2或更高版本的客户端,则可以使用格式化输出使其更加简单


p4-ztag-F“%Update%”客户端-o client_name
将为现有客户端返回一个带有日期和时间的字符串,或为不存在的客户端不返回任何内容。

我发现此命令有效:

p4 -ztag clients -e bad

如果客户端不存在,它将不返回任何内容

这取决于规范。没有定义该规范。。。没有机会得到答案。例如,我想检查名为build new的Performce客户端规范,如果它存在,那么我将使用命令p4 client-d build new删除它,我得到了答案,如下所示,p4 clients | findstr/i“clientname”>null,如果错误级别0转到echo“client ready exist”