簡體   English   中英

Powershell在給定路徑中獲取擴展文件

[英]Powershell get extension files within a given path

這篇文章的主要思想是,給出文件夾或磁盤的路徑。 然后,powershell將搜索該路徑內的所有文件和文件夾,並列出當前存儲在該路徑中的所有擴展文件(docx,xl​​sx,jpg等)。

最終結果將存儲在csv文件中。

我認為您想要這樣的東西,但可能是我誤解了您的問題。

$Folder = "C:\Temp\"
Get-ChildItem $Folder | Select Extension | Where-Object{$_.Extension -ne ""} | Export-Csv -Path C:\Temp\YourCSV.csv -NoTypeInformation

我在svanzundert解決方案中做了一些修復

$Folder = "C:\Temp\"
Get-ChildItem $Folder | Select Extension -Unique | Where-Object{$_.Extension -ne ""} | Export-Csv -Path C:\Temp\YourCSV.csv -NoTypeInformation

您只需要在Select-Object中使用-Unique參數

當然,會有更好的方法,例如使用filter從子文件onlz中獲取,但是zou可以執行以下操作:

#will load directory content
$files = Get-ChildItem "C:\Users\fooo\Documents\" 

#empty array for extensions preparation
$extensions = New-Object System.Collections.ArrayList($null)

#iterate over items= files and directories
for ($i=0; $i -lt $files.Count; $i++) {
    #print all (once by one of course)
    #Write-Host $files[$i].FullName
    #print extension only
    #Write-Host $files[$i].Extension

    #store extensions by unique, if its a file
    if( ($files[$i].GetType().Name -eq "FileInfo" ) -and !$extensions.Contains($files[$i].Extension) ){
        $extensions.Add($files[$i].Extension)
    }
}

Write-Host $extensions

我的輸出:

.gitattributes .gitignore .mailmap .yml .cmd .fsx .sh .md .dependencies .lock .sln .DotSettings

暫無
暫無

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

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