使用以下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
答案 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