本文介紹使用PowerShell來監(jiān)視一個指定的文件夾,包括新建文件、刪除文件、重命名文件等操作均會被監(jiān)控或監(jiān)視。本文使用了System.IO.FileSystemWatcher這個.NET對象。首先,我們來看看程序:
復(fù)制代碼 代碼如下:
# 定義要監(jiān)控的文件夾,這個文件夾必須先存在。
$folder = 'D:\test'
# 定義每次監(jiān)控的間隔時間,這時定義為1000毫秒,即1秒
$timeout = 1000
# 創(chuàng)建文件系統(tǒng)監(jiān)視對象
$FileSystemWatcher = New-Object System.IO.FileSystemWatcher $folder
Write-Host ”按 CTRL+C 來退出對文件夾 $folder 的監(jiān)控”
while ($true) {
# 監(jiān)控文件夾內(nèi)的所有變化
$result = $FileSystemWatcher.WaitForChanged('all', $timeout)
if ($result.TimedOut -eq $false)
{
# 當文件夾的內(nèi)容變化時,發(fā)出警告提示
Write-Warning ('File {0} : {1}' -f $result.ChangeType, $result.name)
}
}
Write-Host '監(jiān)控被取消.'
說明:本程序?qū)O(jiān)控文件夾$folder,這個文件夾首先必須存在。然后執(zhí)行這個PowerShell腳本。當對這個文件夾進行操作時,比如創(chuàng)建一個新的文件,重命名文件,刪除一個文件等等,PowerShell程序所在的命令行窗口都會進行提示。小編測試時的提示如下:
復(fù)制代碼 代碼如下:
PS> D:\powershell\fs-monitor.ps1
按 CTRL+C 來退出對文件夾 D:\test 的監(jiān)控
警告: File Created : 新建文本文件.txt
警告: File Renamed : test.txt
警告: File Deleted : test.txt
子文件夾的創(chuàng)建、重命名、刪除等也會被記錄,甚至連子文件夾中創(chuàng)建文件,程序也能監(jiān)控到。
您可能感興趣的文章:- python通過ssh-powershell監(jiān)控windows的方法
- PowerShell腳本性能優(yōu)化技巧總結(jié)
- 如何利用PowerShell監(jiān)控Win-Server性能詳解