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

use*_*546 5 perforce perforce-client-spec

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

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

小智 5

在 Windows 命令行上你可以做这样的事情

set P4CLIENT=client-name
p4 clients -e %P4CLIENT% | findstr %P4CLIENT% >nul
Run Code Online (Sandbox Code Playgroud)

p4 clients -e %P4CLIENT%将输出所有匹配的客户端%P4CLIENT%findstr将在输出中搜索p4 clients客户端名称并打印它。重定向到 tonul将抑制此输出,但findstr会另外设置该%errorlevel%变量。

一些例子:

p4 clients -e existing-client | findstr existing-client >nul
echo %errorlevel%
Run Code Online (Sandbox Code Playgroud)

将返回 0。

p4 clients -e does-not-exists | findstr does-not-exists >nul
echo %errorlevel%
Run Code Online (Sandbox Code Playgroud)

将返回 1。

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

p4 clients -e does-not-exists | findstr does-not-exists >nul || create-client.bat
Run Code Online (Sandbox Code Playgroud)

如果你想执行某些操作,如果给定的客户端空间确实存在,你可以运行以下命令:

p4 clients -e does-not-exists | findstr does-not-exists >nul && do-something.bat
Run Code Online (Sandbox Code Playgroud)

感谢来自 perforce 在线聊天支持的 Adam!


Mar*_*ark 2

我从你的评论中看到你找到了解决方案,但这是另一种方法......

如果您想删除该名称的客户端,您可以p4 clients通过尝试删除客户端来节省对自己的调用。如果存在,则将其删除(除非有搁置文件等)。如果它不存在,那么它就是一个空操作——没有伤害,没有犯规。