Powershell
清單文件類型的 Powershell 腳本
我一直在編寫一個腳本來按特定文件類型清點驅動器。(AVI、MPG、MP3 等……)
我可以讓基本腳本只使用設置的驅動器和副檔名來工作,但我真的很想讓它從文件中讀取副檔名,並從文件中讀取驅動器。
$dir = get-childitem z:\ –recurse ForEach ($item in $dir) { If ($item.extension –eq '.avi') { $item | select-object length,fullname,LastWriteTime | Export-CSV C:\temp\z-avi.csv –notypeinformation –append } }
當我搜尋時,我只找到伺服器驅動空間腳本。
任何指導將不勝感激。
凌亂,但我使用 WMI 來獲取驅動器,然後基於獨特的擴展進行循環:
$computer = Get-ADcomputer ComputerName $drives = Get-WmiObject win32_volume -ComputerName $computer.DNSHostName | Where-Object {$_.DriveType -eq 3 -and $_.DriveLetter -ne $null -and $_.Label -ne "System Reserved"} Foreach ($drive in $drives) { $allfiles = gci $drive.DriveLetter -recurse | Select Name,FullName,Extension,Length,LastWriteTime $extensions = $allfiles | Select -Unique Extension Foreach ($ext in $extensions) { $filename = ($drive | Select -ExpandProperty DriveLetter -First 1)[0] + ($ext | Select -ExpandProperty Extension -First 1) $extensionfiles = $allfiles | Where-Object {$_.Extension -eq $ext.extension} #$extensionfiles.count $extensionfiles | Export-Csv C:\Temp\$filename.csv -Notypeinformation } }
WMI 呼叫將只帶回本地驅動器。