本文介紹使用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
子文件夾的創建、重命名、刪除等也會被記錄,甚至連子文件夾中創建文件,程序也能監控到。
您可能感興趣的文章:- python通過ssh-powershell監控windows的方法
- PowerShell腳本性能優化技巧總結
- 如何利用PowerShell監控Win-Server性能詳解