当前位置: 移动技术网 > IT编程>脚本编程>Shell > PowerShell脚本监控文件夹变化实例

PowerShell脚本监控文件夹变化实例

2017年12月08日  | 移动技术网IT编程  | 我要评论
本文介绍使用powershell来监视一个指定的文件夹,包括新建文件、删除文件、重命名文件等操作均会被监控或监视。本文使用了system.io.filesystemwatc

本文介绍使用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:\powershell\fs-monitor.ps1
按 ctrl+c 来退出对文件夹 d:\test 的监控
警告: file created : 新建文本文件.txt
警告: file renamed : test.txt
警告: file deleted : test.txt

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

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网