如何在特定计算机上获取特定用户的所有Perfoce工作区?
此命令允许我在所有计算机上的特定用户的所有工作区:
P4 clients -u username
答案 0 :(得分:2)
这是一个cmd单行,与pitseeker的行为大致相同:
for /f "tokens=2" %x in ('p4 clients -u username') do @(echo %x & p4 client -o %x | findstr /r /c:"^Host:")
一个更健壮的批处理文件似乎适合您正在寻找的内容:
@echo off
set USER=%1
set HOST=%2
REM Don't forget to double your for-loop percents in batch files,
REM unlike the one-liner above...
for /f "tokens=2" %%x in ('p4 clients -u %USER%') do call :CheckClient %%x
goto :EOF
:CheckClient
p4 client -o %1 | findstr /r /c:"^Host:" | findstr /i /r /c:"%HOST%$">nul && echo %1
goto :EOF
保存并以用户名作为第一个参数并将所需的主机名作为第二个参数运行它。就是像showclient elady elady_pc
答案 1 :(得分:1)
不完全是你所要求的,但它很容易,也许就足够了:
p4 clients -u username | cut -f2 -d' ' | xargs -n 1 p4 client -o |egrep -e '^Client|^Host'
列出了所有客户端及其主机限制(如果有)。 在结果列表中,您可以非常轻松地找到特定的计算机。