2013-08-16 96 views
2

我想知道在Perforce軟件倉庫的任何給定的文件夾/目錄/分支中有多少個文件,但我沒有看到這樣做的方法。 p4 fstat命令是我的第一個想法,但它似乎沒有選項來返回文件計數。有沒有一種簡單的方法可以使用圖形或命令行客戶端來獲取文件夾中的文件數量?如何獲取Perforce中文件夾中的文件數量?

回答

3

雖然p4 fstat沒有提供獲取文件計數本身的方法,但您可以輕鬆解析其輸出以獲取此信息。請注意,這適用於Windows,但我可以想象它很容易修改爲其他操作系統。這裏是你如何做到這一點:

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

它也可以與p4 files命令來完成的正是如此:

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

看起來你已經想通出來。請注意,如果您不想包含子文件夾,則應該使用'*'而不是'...'作爲'...包括子文件夾以及您命名的文件夾中的文件。你可能會嘗試的另一個命令是'p4文件'。但是'p4 fstat'對你而言是相當不錯的,而且非常快速和高效。順便說一句,你的查詢的目的是什麼?也就是說,你的工具根據目錄中有多少文件做出什麼決定? –

1

試試這個命令:

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

說明:

  1. p4 files //depot/dir1/dir2/...是遞歸地將dir2下的文件打印到屏幕的命令。

  2. 通過wordcount行(| wc -l)管道來統計輸出行數。

這可以在Linux/Unix系統和Windows中使用,如果您使用的是cygwin(或其他類似Linux的終端)。

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}} 
0

使用p4 sizes -s命令。

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

,或者如果你只想計數:

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

(顯然file參數可以是任何東西代替...否則它是當前目錄)

相關問題