Powershell

清單文件類型的 Powershell 腳本

  • September 24, 2015

我一直在編寫一個腳本來按特定文件類型清點驅動器。(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 呼叫將只帶回本地驅動器。

引用自:https://serverfault.com/questions/724306