【发布时间】:2019-06-28 07:40:01
【问题描述】:
出于统计目的,我需要在指定文件夹中创建文件时获取文件的大小。我尝试了不同的解决方案,我发现最好的一个是这个,但它总是返回 0 而不是文件大小。
$watcher = New-Object System.IO.FileSystemWatcher
$watcher.Path = "C:\Users\GUFE\Desktop"
$watcher.Filter = "*.pdf*"
$watcher.IncludeSubdirectories = $true
$watcher.EnableRaisingEvents = $true
$action = { $path = $Event.SourceEventArgs.FullPath
$changeType = $Event.SourceEventArgs.ChangeType
$size = (Get-Item '$path').length
$logline = "$(Get-Date), $changeType, $path, $size"
Add-content "C:\Users\GUFE\Desktop\log2.txt" -value $logline
}
Register-ObjectEvent $watcher "Created" -Action $action
while ($true) {sleep 5}
现在我只是将信息放在一个日志文件中,看看我是否得到了正确的信息。
提前感谢您的回答。
【问题讨论】:
标签: powershell file size filesystemwatcher