簡體   English   中英

按子文件夾列出文件數

[英]List file count by subfolder

我正在嘗試使用 powershell 生成文件夾名稱列表以及每個文件夾中有多少文件。

我有這個腳本

$dir = "C:\Users\folder" 
Get-ChildItem $dir -Recurse -Directory | ForEach-Object{
    [pscustomobject]@{
        Folder = $_.FullName
        Count = @(Get-ChildItem -Path $_.Fullname -File).Count
    }
} | Select-Object Folder,Count

其中列出了文件計數,但它放置了完整路徑(即C:\\Users\\name\\Desktop\\1\\2\\-movi... )。 有沒有辦法只顯示最后一個文件夾(“電影”)並將結果保存到 .txt 文件中?

謝謝

而不是$_.FullName ,使用$_.Name只獲取目錄名稱

您的Select-Object調用是多余的 - 它實際上是一個空操作。

例如,雖然很容易將結果發送到帶有>.txt文件,但最好使用更結構化的格式進行以后的編程處理。 在最簡單的形式中,這意味着通過Export-Csv輸出到 CSV 文件; 然而,通常,將對象序列化為文件的最Export-CliXml是使用Export-CliXml

使用Export-Csv進行序列化:

$dir = 'C:\Users\folder'
Get-ChildItem -LiteralPath $dir -Recurse -Directory | ForEach-Object {
    [pscustomobject] @{
      Folder = $_.Name
      Count = @(Get-ChildItem -LiteralPath $_.Fullname -File).Count
    }
} | Export-Csv -NoTypeInformation results.csv

請注意,您可以通過將ForEach-Object調用替換為使用計算屬性Select-Object調用來簡化命令:

$dir = 'C:\Users\folder'
Get-ChildItem -LiteralPath $dir -Recurse -Directory |
  Select-Object Name,
    @{ n='Count'; e={@(Get-ChildItem -LiteralPath $_.Fullname -File).Count} } |
      Export-Csv -NoTypeInformation results.csv

你的意思是這樣的......

Clear-Host
Get-ChildItem -Path 'd:\temp' -Recurse -Directory | 
Select-Object Name,FullName,
@{Name='FileCount';Expression = {(Get-ChildItem -Path $_.FullName -File -Recurse| Measure-Object).Count}} `
| Format-Table -AutoSize

# Results


Name           FullName                               FileCount
----           --------                               ---------
abcpath0       D:\temp\abcpath0                               5
abcpath1       D:\temp\abcpath1                               5
abcpath2       D:\temp\abcpath2                               5
Duplicates     D:\temp\Duplicates                         12677
EmptyFolder    D:\temp\EmptyFolder                            0
NewFiles       D:\temp\NewFiles                               4
PngFiles       D:\temp\PngFiles                               4
results        D:\temp\results                              905
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM