脚本专栏 
首页 > 脚本专栏 > 浏览文章

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

(编辑:jimmy 日期: 2024/11/16 浏览:3 次 )

本文介绍使用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

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

上一篇:PowerShell中常用的一些特殊运算符介绍
下一篇:PowerShell把IP地址转换成二进制的方法
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。