如何获取Perforce中文件夹中的文件数?

时间:2013-08-16 15:59:31

标签: perforce

我想知道Perforce软件仓库的任何给定文件夹/目录/分支中有多少文件,但我没有看到这样做的方法。 p4 fstat命令是我的第一个想法,但它似乎没有返回文件计数的选项。有没有一种简单的方法可以使用图形或命令行客户端获取文件夹中的文件数?

4 个答案:

答案 0 :(得分:3)

虽然p4 fstat无法提供获取文件计数的方法,但您可以轻松解析其输出以获取此信息。请注意,这适用于Windows,但我认为它很容易修改为其他操作系统。这是你如何做到的:

p4 fstat -T depotFile //depot/some/folder/... | find /c "... depotFile"

也可以使用p4 files命令完成:

p4 files //depot/some/folder/... | find /c "//"

答案 1 :(得分:1)

尝试此命令:

p4 files //depot/dir1/dir2/... | wc -l

说明:

  1. p4 files //depot/dir1/dir2/...是以递归方式将dir2下的文件打印到屏幕的命令。

  2. 通过wordcount行(| wc -l)管道以计算输出行数。

  3. 这适用于Linux / Unix系统,如果您使用的是cygwin(或其他类似Linux的终端),则适用于Windows。

答案 2 :(得分:0)

Powershell方法:

计算特定目录中的文件:

p4 files //depot/dir1/dir2/... | Measure-Object

可替换地:

(p4 files //depot/dir1/dir2/...).Count

以下内容将列出一个对象中的所有子目录及其文件计数,您可以将其视为表,排序,导出到csv等:

p4 dirs //depot/dir1/* | Select-Object -Property @{Name="Path";Expression={$PSItem}},@{Name="FileCounts";Expression={(p4 files $PSItem/...).Count}}

答案 3 :(得分:0)

使用p4 sizes -s命令。

C:\test>p4 sizes -s ...
... 5 files 342 bytes

或者如果您只想要计数:

C:\test>p4 -F %fileCount% sizes -s ...
5

(显然,file参数可以是代替...当前目录的任何其他内容)