使用p4获取特定计算机上的工作空间列表

Mat*_*att 6 perforce

我打算在superuser.com上问这个,但是只有5个perforce标签,所以我来到这里......如何在p4的特定机器上获得工作区列表?

我可以运行p4工作区,但这给了我所有这些.如何将其过滤到特定的计算机(客户端)名称.

das*_*ang 9

取决于您的环境.我已经包含了一个基本的Windows批处理文件来执行此操作.

p4 clients.从每一行中拉出第二个单词,即客户名称.跑p4 client -o <name>.Grep for ^Host:.*\b<hostname>\b.如果grep返回成功,则该客户端用于该计算机.累积清单.

在Windows中:

set CLIENTS=

for /f "tokens=2" %%c in ('p4 clients') do call :ProcessClient %%c

echo clients on %HOSTNAME% are %CLIENTS%
pause
goto :eof

:ProcessClient
    for /f "tokens=1,2" %%h in ('p4 client -o %1') do if "Host:%HOSTNAME%"=="%%h%%i" set CLIENTS=%CLIENTS% %1
    goto :eof
Run Code Online (Sandbox Code Playgroud)