PowerShell脚本监控文件夹变化实例
本文介绍使用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中,可以直接运行命令。包括.exe结尾的、.com结尾的可执行程序,包括.bat结尾的、.cmd结尾的批处理程序,还有.vbs结尾的、.ps1结尾的脚本程序
PowerShell移动目录中指定文件的方法(非全部文件)
小编在做一个小功能的时候,遇到一个功能,就是把一个目录中的指定条件的文件,移动到另外一个目录。这是需求,然后我们来分析下该怎么实现。
PowerShell中把相对路径转换为绝对路径的2个方法
在PowerShell中,有时候,我们需要把当前的相对路径解析为绝对路径,比如".test.txt",我们想知道它的绝对路径的话,我们有两种方法可以实现。1、有一