计算2个文件夹中同一文件之间的创建时间

时间:2018-06-20 13:46:07

标签: powershell

我需要测量在2个不同文件夹中创建的 SAME 文件的时间。

示例:folder1\test.txtfolder2\test.txt

对每个文件使用Get-Date,它们之间的秒差。

该脚本需要继续运行并为每个文件创建一个日志,其中包含文件名和时差(以秒为单位)

###start-process PowerShell.exe -arg C:\Users\Smap\Documents\logs\StartMonitoring.ps1 -WindowStyle Hidden

### SET FOLDER TO WATCH + FILES TO WATCH + SUBFOLDERS YES/NO
$watcherStart = New-Object System.IO.FileSystemWatcher
$watcherEnd = New-Object System.IO.FileSystemWatcher
$watcherStart.Path = "C:\Users\Smap\Desktop\MATHEUS\entrada"
$watcherEnd.Path = "C:\Users\Smap\Desktop\MATHEUS\saida"
$watcherStart.Filter = "*.*"
$watcherEnd.Filter = "*.*"
###    $watcherStart.IncludeSubdirectories = $true
$watcherStart.EnableRaisingEvents = $true  
$watcherEnd.EnableRaisingEvents = $true  

### DEFINE ACTIONS AFTER AN EVENT IS DETECTED
$actionStart = { $namefileStart = $Event.SourceEventArgs.Name
                 $changeTypeStart = $Event.SourceEventArgs.ChangeType
                 $timeStart = Get-Date
}              

 $actionEnd = { $filepath = "C:\Users\Smap\Desktop\MATHEUS\log\log " + ($namefileStart) + ".txt"
                ###$filepath = "C:\Users\Smap\Desktop\MATHEUS\log\log.txt"
                $namefileEnd = $Event.SourceEventArgs.Name
                $changeTypeEnd = $Event.SourceEventArgs.ChangeType
                $timeEnd = Get-Date
                if ($namefileStart -eq $namefileEnd) {
                    $timeDiff = (NEW-TIMESPAN -Start $timeStart -End $timeEnd)
                    $logline = "$namefileStart, $namefileEnd, $timeStart, $timeEnd, $timeDiff"
                    Add-content $filepath -value $logline
                }
 }


### DECIDE WHICH EVENTS SHOULD BE WATCHED
Register-ObjectEvent $watcherStart "Created" -Action $actionStart
Register-ObjectEvent $watcherEnd "Created" -Action $actionEnd
###Register-ObjectEvent $watcher "Changed" -Action $action
###Register-ObjectEvent $watcher "Deleted" -Action $action
###Register-ObjectEvent $watcher "Renamed" -Action $action
while ($true) {sleep 5}`

0 个答案:

没有答案