PowerShell腳本監(jiān)控文件夾變化實(shí)例
本文介紹使用PowerShell來監(jiān)視一個(gè)指定的文件夾,包括新建文件、刪除文件、重命名文件等操作均會(huì)被監(jiān)控或監(jiān)視。本文使用了System.IO.FileSystemWatcher這個(gè).NET對(duì)象。首先,我們來看看程序:
# 定義要監(jiān)控的文件夾,這個(gè)文件夾必須先存在。
$folder = 'D:\test'
# 定義每次監(jiān)控的間隔時(shí)間,這時(shí)定義為1000毫秒,即1秒
$timeout = 1000
# 創(chuàng)建文件系統(tǒng)監(jiān)視對(duì)象
$FileSystemWatcher = New-Object System.IO.FileSystemWatcher $folder
Write-Host ”按 CTRL+C 來退出對(duì)文件夾 $folder 的監(jiān)控”
while ($true) {
# 監(jiān)控文件夾內(nèi)的所有變化
$result = $FileSystemWatcher.WaitForChanged('all', $timeout)
if ($result.TimedOut -eq $false)
{
# 當(dāng)文件夾的內(nèi)容變化時(shí),發(fā)出警告提示
Write-Warning ('File {0} : {1}' -f $result.ChangeType, $result.name)
}
}
Write-Host '監(jiān)控被取消.'
說明:本程序?qū)?huì)監(jiān)控文件夾$folder,這個(gè)文件夾首先必須存在。然后執(zhí)行這個(gè)PowerShell腳本。當(dāng)對(duì)這個(gè)文件夾進(jìn)行操作時(shí),比如創(chuàng)建一個(gè)新的文件,重命名文件,刪除一個(gè)文件等等,PowerShell程序所在的命令行窗口都會(huì)進(jìn)行提示。小編測(cè)試時(shí)的提示如下:
PS> D:\powershell\fs-monitor.ps1
按 CTRL+C 來退出對(duì)文件夾 D:\test 的監(jiān)控
警告: File Created : 新建文本文件.txt
警告: File Renamed : test.txt
警告: File Deleted : test.txt
子文件夾的創(chuàng)建、重命名、刪除等也會(huì)被記錄,甚至連子文件夾中創(chuàng)建文件,程序也能監(jiān)控到。
相關(guān)文章
Powershell小技巧之創(chuàng)建一個(gè)新對(duì)象
這篇文章主要介紹了使用Powershell簡(jiǎn)單有效的創(chuàng)建一個(gè)自定義對(duì)象的方法,非常的簡(jiǎn)單,需要的朋友可以參考下2014-10-10Powershell中打開網(wǎng)頁(yè)實(shí)例
這篇文章主要介紹了Powershell中打開網(wǎng)頁(yè)實(shí)例,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-03-03PowerShell中使用Test-Path命令檢查文件或文件夾路徑是否存在示例
這篇文章主要介紹了PowerShell中使用Test-Path命令檢查文件或文件夾路徑是否存在示例,Test-Path命令的返回值是TRUE或FALSE,可以很方便的判斷,需要的朋友可以參考下2014-08-08PowerShell定義函數(shù)參數(shù)的2種方法和傳參方法實(shí)例
這篇文章主要介紹了PowerShell定義函數(shù)參數(shù)的2種方法和使用方法實(shí)例,簡(jiǎn)潔易懂的好文,需要的朋友可以參考下2014-07-07PowerShell實(shí)現(xiàn)時(shí)間管理小秘書
這篇文章主要介紹了PowerShell實(shí)現(xiàn)時(shí)間管理小秘書,本文是一個(gè)PowerShell的綜合編程實(shí)例,實(shí)現(xiàn)了一個(gè)用來管理時(shí)間的功能,需要的朋友可以參考下2015-04-04