PowerShell脚本监控文件夹变化实例
PowerShell脚本监控文件夹变化实例
发布时间:2016-12-28 来源:查字典编辑
摘要:本文介绍使用PowerShell来监视一个指定的文件夹,包括新建文件、删除文件、重命名文件等操作均会被监控或监视。本文使用了System.I...

本文介绍使用PowerShell来监视一个指定的文件夹,包括新建文件、删除文件、重命名文件等操作均会被监控或监视。本文使用了System.IO.FileSystemWatcher这个.NET对象。首先,我们来看看程序:

复制代码 代码如下:

# 定义要监控的文件夹,这个文件夹必须先存在。

$folder = 'D:test'

# 定义每次监控的间隔时间,这时定义为1000毫秒,即1秒

$timeout = 1000

# 创建文件系统监视对象

$FileSystemWatcher = New-Object System.IO.FileSystemWatcher $folder

Write-Host ”按 CTRL+C 来退出对文件夹 $folder 的监控”

while ($true) {

# 监控文件夹内的所有变化

$result = $FileSystemWatcher.WaitForChanged('all', $timeout)

if ($result.TimedOut -eq $false)

{

# 当文件夹的内容变化时,发出警告提示

Write-Warning ('File {0} : {1}' -f $result.ChangeType, $result.name)

}

}

Write-Host '监控被取消.'

说明:本程序将会监控文件夹$folder,这个文件夹首先必须存在。然后执行这个PowerShell脚本。当对这个文件夹进行操作时,比如创建一个新的文件,重命名文件,删除一个文件等等,PowerShell程序所在的命令行窗口都会进行提示。小编测试时的提示如下:

复制代码 代码如下:

PS> D:powershellfs-monitor.ps1

按 CTRL+C 来退出对文件夹 D:test 的监控

警告: File Created : 新建文本文件.txt

警告: File Renamed : test.txt

警告: File Deleted : test.txt

子文件夹的创建、重命名、删除等也会被记录,甚至连子文件夹中创建文件,程序也能监控到。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新PowerShell学习
热门PowerShell学习
脚本专栏子分类