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:\powershell\fs-monitor.ps1
按 CTRL+C 来退出对文件夹 D:\test 的监控
警告: File Created : 新建文本文件.txt
警告: File Renamed : test.txt
警告: File Deleted : test.txt
子文件夹的创建、重命名、删除等也会被记录,甚至连子文件夹中创建文件,程序也能监控到。
相关推荐
-
PowerShell脚本监控文件夹变化实例
本文介绍使用PowerShell来监视一个指定的文件夹,包括新建文件.删除文件.重命名文件等操作均会被监控或监视.本文使用了System.IO.FileSystemWatcher这个.NET对象.首先,我们来看看程序: 复制代码 代码如下: # 定义要监控的文件夹,这个文件夹必须先存在. $folder = 'D:\test' # 定义每次监控的间隔时间,这时定义为1000毫秒,即1秒 $timeout = 1000 # 创建文件系统监视对象 $FileSystemWatcher = New-O
-
C#监控文件夹变化的方法
本文实例讲述了C#监控文件夹变化的方法.分享给大家供大家参考.具体实现方法如下: 当需要监控某一文件,FileSystemWatcher类提供了Created, Deleted,Rename等事件. 就拿FileSystemWatcher的Created事件来说,该事件类型是FileSystemEventHandler. 复制代码 代码如下: public delgate void FileSystemEventHandler(Object sender, FileSystemEventArgs
-
使用Python监控文件内容变化代码实例
利用seek监控文件内容,并打印出变化内容: #/usr/bin/env python #-*- coding=utf-8 -*- pos = 0 while True: con = open("a.txt") if pos != 0: con.seek(pos,0) while True: line = con.readline() if line.strip(): print line.strip() pos = pos + len(line) if not line.strip(
-
C#监控文件夹并自动给图片文件打水印的方法
本文实例讲述了C#监控文件夹并自动给图片文件打水印的方法.分享给大家供大家参考.具体分析如下: 个人私心的缘故,经常写一些博客之类的文章,由于看到网络上面好多同志转载后不标明出处,所以特地写了这么一个小程序,这个小程序的功能是当我在页面上通过QQ截图之后,把截到的图片保存到一个指定的路径,然后工具自动帮我把图片上面加上水印. 下面是全部代码: using System; using System.Collections.Generic; using System.ComponentModel;
-
Python 实现删除某路径下文件及文件夹的实例讲解
Python 实现删除某路径下文件及文件夹的脚本 #!/usr/bin/env python import os import shutil delList = [] delDir = "/home/test" delList = os.listdir(delDir ) for f in delList: filePath = os.path.join( delDir, f ) if os.path.isfile(filePath): os.remove(filePath) print
-
Java NIO.2 使用Path接口来监听文件、文件夹变化
Java7对NIO进行了大的改进,新增了许多功能: •对文件系统的访问提供了全面的支持 •提供了基于异步Channel的IO 这些新增的IO功能简称为 NIO.2,依然在java.nio包下. 早期的Java只提供了File类来操作文件.文件夹本身,功能有限,性能也不高. NIO.2为解决这种缺陷,提供了Path接口,并提供了Paths.Files2个工具类,这2个工具类包含的方法都是静态方法,Files类提供了大量的静态方法来操作文件.文件夹. Path接口.Paths工具类使用示例: //获
-
python检测文件夹变化,并拷贝有更新的文件到对应目录的方法
检测文件夹,拷贝有更新的文件到对应目录 2016.5.19 亲测可用,若有借鉴请修改下文件路径: 学习python小一个月后写的这个功能,属于初学,若有大神路过,求代码优化~ newcopy.py: 检测文件夹中最后修改时间变化的文件,并拷贝复制到相应路径下,拷贝目录会自动检测后输出:测试文件夹路径记得修改: pyinotify.py: 借用window接口,检测脚本所在目录下文件夹变化(更新.删除.添加等),输出日志到桌面上: # newcopy.py文件 # -*- coding:UTF-8
-
C# FileSystemWatcher 在监控文件夹和文件时的使用方法
概述 最近学习FileSystemWatcher的用法,它主要是监控一个文件夹,当文件夹内的文件要是有更改就要记录下来,我就整理下我对FileSystemWatcher 的理解和用法. FileSystemWatcher 用法 在应用FileSystemWatcher对象之前,你必须了解这个对象的一些基本属性和事件.毫无疑问,这个对象的最重要的属性为"EnableRaisingEvents"属性. 这个属性决定对象在收到改变通知时是否提交事件.如果EnableRaisingEvents
-
利用Python实现自动化监控文件夹完成服务部署
目录 1. 准备 2. 实战一下 3. 总结 大家好,我是安果! 最近在部署前端项目的时候,需要先将前端项目压缩包通过堡垒机上传到应用服务器的 /tmp 目录下,然后进入应用服务器中,使用 mv 命令将压缩文件移动到 Nginx 项目设定目录,最后使用 unzip 命令解压文件,以此完成项目的部署 仔细分析,大部分操作都是重复性的动作,人工去完成这些操作会大大降低工作效率 本篇文章将介绍如何利用 Python 监控文件夹,以此辅助完成服务的部署动作 1. 准备 这里要介绍一个 Python 依赖
-
Java使用WatchService监控文件内容变化的示例
场景 系统实现中经常需要能够感知配置文件的变化,然后及时更新上下文. 实现方案 自己起一个单独线程,定时加载文件,实现较简单,但是无法保证能够实时捕捉文件变化,同时耗CPU 使用commons-io中的 FileAlterationObserver,思想和上面类似,对比前后文件列表的变化,触发对应事件 JDK 1.7提供的WatchService,利用底层文件系统提供的功能 使用 WatchService WatchService用来监控一个目录是否发生改变,但是可以通过 WatchEvent
随机推荐
- Prototype 学习 工具函数学习($w,$F方法)
- 改良程序的11技巧分享
- Python语法快速入门指南
- Extjs单独定义各组件的实例代码
- nasm实现的用vmware运行自做的linux启动盘的引导代码
- Mybatis调用视图和存储过程的方法
- iOS如何获取当前View所在控制器的方法
- 分享下页面关键字抓取www.icbase.com站点代码(带asp.net参数的)
- PHP模板引擎Smarty内建函数foreach,foreachelse用法分析
- asp javascript在线管理
- C语言中的结构体的入门学习教程
- Android 搜索结果匹配关键字且高亮显示功能
- alert和confirm功能介绍
- JS判断数组中是否有重复值得三种实用方法
- 用C++封装MySQL的API的教程
- 揭开AJAX神秘的面纱(AJAX个人学习笔记)第1/5页
- 详解Java 本地接口 JNI 使用方法
- js获取所有checkbox的值的简单实例
- c#求点到直线的投影点坐标
- JavaScript之appendChild、insertBefore和insertAfter使用说明