这篇文章的主要思想是,给定文件夹或磁盘的路径。然后,powershell将搜索此路径中的所有文件和文件夹,并列出当前存储在此路径中的所有扩展名文件(docx、xlsx、jpg等)
最终结果将存储在csv文件中。
发布于 2019-03-01 06:02:23
我在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参数
发布于 2019-02-28 23:18:26
我想你想要这样的东西,但可能是我误解了你的问题。
$Folder = "C:\Temp\"
Get-ChildItem $Folder | Select Extension | Where-Object{$_.Extension -ne ""} | Export-Csv -Path C:\Temp\YourCSV.csv -NoTypeInformation
发布于 2019-02-28 23:37:23
当然,还有更好的方法,比如使用filter从childs文件中获取数据,但是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
https://stackoverflow.com/questions/54928477
复制相似问题