在 Perforce 中列出特定机器上用户的工作区

ela*_*ady 5 workspace perforce list

如何在特定机器上获取特定用户的所有 Perfoce 工作区?

这个命令让我在所有机器上的特定用户的所有工作区:

P4 clients -u username
Run Code Online (Sandbox Code Playgroud)

Mar*_*ark 3

这是一个 cmd 单行代码,它的作用与pitseeker 的大致相同:

for /f "tokens=2" %x in ('p4 clients -u username') do @(echo %x & p4 client -o %x | findstr /r /c:"^Host:")
Run Code Online (Sandbox Code Playgroud)

一个更强大的批处理文件似乎适合您正在寻找的内容是:

@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
Run Code Online (Sandbox Code Playgroud)

保存并运行它,将用户名作为第一个参数,将所需的主机名作为第二个参数。也就是说,类似showclient elady elady_pc