用于获取wav文件路径的PowerShell脚本

时间:2018-02-08 07:52:02

标签: powershell

使用以下PowerShell脚本,我可以从文件夹中获取名称,大小,DateCreated,wav文件的长度,但我也想要每个文件的路径。

请帮我更新此代码。

$folder= 'C:\Users\r.shishodia\Desktop\2-8-2018\web'
$com = (New-Object -ComObject Shell.Application).NameSpace($folder)
for ($i = 0; $i -lt 64; $i++) {
    $name = $com.GetDetailsOf($com.Items, $i)
    if ($name -eq 'Length') { $lengthattribute = $i}
}
$com.Items() | ForEach-Object {
    [PSCustomObject]@{
        Name = $_.Name
        Size = $com.GetDetailsOf($_, 1)
        DateCreated = $com.GetDetailsOf($_, 4)
        Length = $com.GetDetailsOf($_, $lengthattribute)
    }
} | Export-Csv -Path C:\Users\r.shishodia\Desktop\report.csv -Encoding ascii -NoTypeInformation

enter image description here

1 个答案:

答案 0 :(得分:0)

尝试这样的事情 -

Get-ChildItem $folder | % {$_.FullName}

FullName参数将为您提供每个文件的路径。

如果我们尝试您的方法,那么 -

如果您查看$com.Items(),您会看到其中已有Path个属性。因此,您可以直接在自定义PSObject中添加该内容,然后通过CSV将其导出。

$com.Items() | ForEach-Object {
    [PSCustomObject]@{
        Name = $_.Name
        Size = $com.GetDetailsOf($_, 1)
        DateCreated = $com.GetDetailsOf($_, 4)
        Length = $com.GetDetailsOf($_, $lengthattribute)
        Path = $_.Path
    }
} | Export-Csv -Path C:\Users\r.shishodia\Desktop\report.csv -Encoding ascii -NoTypeInformation