Powershell之监控文件系统变化-创新互联
                                            #region Import Assemblies
#----------------------------------------------
[void][Reflection.Assembly]::Load("System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")
[void][Reflection.Assembly]::Load("System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")
[void][Reflection.Assembly]::Load("System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")
[void][Reflection.Assembly]::Load("mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")
[void][Reflection.Assembly]::Load("System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")
[void][Reflection.Assembly]::Load("System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")
[void][Reflection.Assembly]::Load("System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")
#endregion Import Assemblies
#设置监控路径
$script:folder="C:\"
$form=New-Object System.Windows.Forms.Form
$form.FormBorderStyle="Fixed3D"
$form.StartPosition = 'CenterScreen'
$form.ClientSize="200,80"
$form.Text="Monitor"
$buttonStart=New-Object System.Windows.Forms.Button
$buttonStart.Text="Start Watch"
$buttonStart.Location="45,10"
$buttonStart.add_click({start-watch})
$buttonStart.Size="100,20"
$buttonStop=New-Object System.Windows.Forms.Button
$buttonStop.Text="Stop Watch"
$buttonStop.Location="45,40"
$buttonStop.add_click({stop-watch})
$buttonStop.Size="100,20"
$form.Controls.AddRange(@($buttonStart,$buttonStop))
$script:watcher = New-Object System.IO.FileSystemWatcher $folder
#开始执行监控
function start-watch{
    $NotifyFilters=New-Object System.IO.NotifyFilters
    #$watcher.NotifyFilter="Size,LastWrite,LastAccess,CreationTime,Security"
    $watcher.Filter = "*.*"
    $watcher.InternalBufferSize = 65536
    #是否包含子目录
    $watcher.IncludeSubDirectories = $True
    #是否触发事件,必须开启
    $watcher.EnableRaisingEvents = $True
    $watcher.SynchronizingObject = $form
    $form.Text="Monitoring"
    $buttonStart.Enabled=$false
    #创建时触发
    $watcher.add_Created({created})
    $watcher.add_Changed({changed})
    $watcher.add_Deleted({deleted})
    $watcher.add_Renamed({renamed})
}
function msg($message){
    [Windows.Forms.MessageBox]::Show($message)
}
# $_.changetype 获取操作类型
# $_.fullpath   获取文件绝对路径
function created(){
    #创建文件
    #自己编写处理逻辑
    msg($_.fullpath)
}
function changed(){
    #文件信息变更
    #自己编写处理逻辑
    msg($_.fullpath)
}
function deleted(){
    #删除文件
    #自己编写处理逻辑
    msg($_.fullpath)
}
function renamed(){
    #名称变更
    #自己编写处理逻辑
    msg($_.fullpath)
}
#停止监控
function stop-watch{
    $watcher.EnableRaisingEvents = $false
    $form.Text="Monitor"
    $buttonStart.Enabled=$true
}
$form.ShowDialog()
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网站题目:Powershell之监控文件系统变化-创新互联
分享地址:http://www.scyingshan.cn/article/dgdedh.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 