需要PowerShell脚本来查找昨天未修改文件的文件夹

时间:2019-01-02 10:49:00

标签: powershell compare backup

浏览包含文件夹位置的文本文件

foreach ($line in Get-Content "C:\Backup\sample.txt") {
    Get-ChildItem $line | Where {
        $_.LastWriteTime -gt (Get-Date).AddDays(-1)
    } | select Directoryname, Name, LastWriteTime, @{Name="Size (GB)"; Expression={[Math]::Round($_.Length/1MB, 1)}}
}

这样,我只能获取昨天修改过的文件。

我要列出的文件夹昨天有没有修改过。

如果文件夹包含昨天修改过的文件(修改日期为昨天),则列出这些文件名,文件夹名及其大小(GB)。

还有Write-Host成功备份。

不包含修改日期为昨天的文件的文件夹也应如此。 Write-Host备份未完成。

1 个答案:

答案 0 :(得分:0)

如果至少一个文件夹不包含在过去24小时内修改过的文件,我将假设您认为备份不完整。

$refdate  = (Get-Date).AddDays(-1)
$complete = $true
$results = foreach ($line in Get-Content "C:\Backup\sample.txt") {
    $result = Get-ChildItem $line |
              Where-Object { $_.LastWriteTime -gt $refdate } |
              Select-Object Directoryname, Name, LastWriteTime,
                  @{n="Size (GB)";e={[Math]::Round($_.Length/1MB, 1)}}
    if ($result) {
        $result
    } else {
        $complete = $false
    }
}

if ($complete) {
    Write-Host 'Backup complete'
} else {
    Write-Host 'Backup incomplete'
}