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!
我从你的评论中看到你找到了解决方案,但这是另一种方法......
如果您想删除该名称的客户端,您可以p4 clients通过尝试删除客户端来节省对自己的调用。如果存在,则将其删除(除非有搁置文件等)。如果它不存在,那么它就是一个空操作——没有伤害,没有犯规。