【发布时间】:2015-07-23 16:12:51
【问题描述】:
我即将编写一个 PS 脚本,以获取上个月内修改的所有文件的 CSV 报告。我尝试了两个选项,但第一个不将报告写入文件,只在屏幕上显示结果,第二个什么也不做。任何帮助深表感谢。
$dir_to_look="D:\TestFolder"
$month_backdate=$(Get-Date).AddDays(-1)
Get-Childitem $dir_to_look -Recurse | where-object {!($_.psiscontainer)} | where { $_.LastWriteTime -gt $month_backdate } | foreach { Write-Host "$($_.LastWriteTime) :: $($_.Fullname) " } | export-csv -path \\share\filename.csv
这是第二个:
function Get-OldFiles {
param($date)
$folders = get-childitem “D:\TestFolder” -recurse | Where-Object {$_.psIsContainer -eq $true}
foreach ($folder in $folders) {
$oldfiles = Dir $folder.fullname *.* | where-object {$_.LastWriteTime -le $date}
if ($oldfiles.count) {
[float]$totalsize = ($oldfiles | Measure-Object -Sum length).Sum / 1KB
$data = @{‘Folder’=$folder.fullname;’Count’=$oldfiles.count;’Size(Kb)’=$totalsize}
New-Object -Type PSObject -Prop $data
}
}
}
Get-OldFiles ’dd/mm/yyyy′ | Export-CSV \\sharename\file.csv -NoTypeInformation
dd/mm/yyyy 在哪里 - 是我要为每个报告指定的日期。
【问题讨论】:
标签: csv powershell