ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【译】Take Command 事件监视命令(触发器)

2021-04-20 09:01:37  阅读:187  来源: 互联网

标签:触发器 -- htm results FinalResult Command Take 监视 TCC


TCC 提供了一组"触发器"命令,允许您监视计算机上的活动,并根据计算机中发生的更改触发并执行操作。本教程将教会您如何使用它们。

概述

TCC 有许多内部命令,允许您对系统进行实时监视。这些命令包括:

  • FolderMonitor - 监视文件夹和/或文件的创建、修改和删除。
  • EventMonitor - 监视事件日志。
  • NetMonitor - 监视网络连接,在网络连接或断开时执行命令。
  • ProcessMonitor - 监视进程,在进程启动或结束时执行命令。
  • ServiceMonitor - 监视 Windows 服务,在服务启动、暂停或停止时执行命令。
  • UsbMonitor - 监控 USB 连接,在设备连接或断开连接时执行命令。
  • FirewireMonitor - 监控 FireWire 连接,在设备连接或断开连接时执行命令。
  • ClipMonitor - 监视 Windows 剪贴板活动,在修改剪贴板时执行命令。
  • DateMonitor - 监视当前 Windows 系统的日期和时间,在日期和时间匹配时执行命令。
  • DebugMonitor - 监视OutputDebugString API 的写入操作。
  • DiskMonitor - 监控磁盘的剩余空间。
  • RegMonitor - 监视 Windows 注册表项。
  • ScreenMonitor - 监视 Windows 屏幕保护程序。
  • BluetoothMonitor - 监控蓝牙连接,在设备连接或断开连接时执行命令。
  • PowerMonitor - 监视 Windows 系统电源变更。

使用这些命令,您可以轻松地监视计算机中发生的大多数活动,并提供警报(如发送电子邮件、触发批处理,等等)。
在单个TCC窗口中,最多可以同时运行 100 个事件监视命令。下面的示例展示了设置触发器是多么的简单,并让您了解一些可以使用触发器完成的事情。

示例 1 -- 文件夹监视器

FolderMonitor允许您监视目录和文件的创建、删除、重命名和修改。假设您要监视在d:\results子目录中创建名为FinalResult.htm的文件的动作,然后将其复制到http://mycompany.com/results/FinalResult.htm
传统的方法是创建一个死循环等待该文件的脚本:

do forever
    iff exist "d:\results\FinalResult.htm" then
        copy "d:\results\FinalResult.htm" "http://mycompany.com/results/FinalResult.htm"
        del FinalResult.htm
        rem Wait for the file again
    endiff
    Delay 10
enddo

这将使用单独的 TCC 会话,会浪费内存、间隔但持续的占用少量的 CPU 时间。
在 TCC 中,您可以在一行上搞定同样的事情:

foldermonitor d:\results /i "FinalResult.htm" created forever (copy "d:\results\FinalResult.htm" "http://mycompany.com/results/FinalResult.htm" & 
del d:\results\FinalResult.htm)

解释一下:

  1. Foldermonitor d:\results -- 让命令监视子目录d:\results
  2. /i "FinalResult. htm" - 只监视名称为FinalResult.htm的文件。
  3. created forever - 表示只查找新创建的文件,进行该操作的该循环将持续执行。
  4. (...) - 将新文件复制到网站,并在复制后从源目录中删除该文件。您可以在这里执行批处理文件,而不是像我们那样使用命令组。

此命令会在当前 TCC 会话中创建单独的线程。
当查询到创建、删除、修改或重命名文件或文件夹时,FOLDERMONITOR还会创建四个环境变量。执行命令后,变量将失效。

  • _FoldeRaction -- 文件或文件夹发生更改的类型。 可能的值包括:
  1. CREATED 被创建
  2. DELETED 被删除
  3. MODIFIED 被修改(包括更改文件大小、属性、日期/时间戳)
  4. RENAMED 被更名
  • _FolderName -- 正在监视的文件夹的名称
  • _FolderFile1 -- 被创建/删除/修改/更名的文件或文件夹的名称。如果文件被更名,则 _FolderFile1 是旧名称。
  • _FolderFile2 -- 在文件被更名时表示文件的新名称。

如果要监视多个更改,应在单个FOLDERMONITOR命令中编写条件语句处理。否则,每个FOLDERMONITOR命令都会创建一个线程(会浪费内存和 CPU 时间)。
例如,以下命令会把d:\results中被创建或更改的文件复制到 Web 目录:

foldermonitor d:\results created modified forever (copy "%_folderfile1" "http://mycompany.com/results/")

示例 2 -- 进程监视器

ProcessMonitor可以监控程序的启动和退出。
例如,您希望每当特定应用程序退出时收到电子邮件提醒:

processmonitor myapp* ended forever (sendmail bob@abc.com myapp Myapp just shut down!)

解释一下:

  1. processmonitor myapp* -- 寻找所有名称以myapp开头的进程。
  2. ended forever -- 只监视进程的终止。
  3. (...) -- 使用 TCC 内部Sendmail命令创建并发送电子邮件。

这可用于保证生产环境的正常运行。
您还可以使用ProcessMonitor监视正在启动的进程。以下脚本将查找在计算机上运行的某病毒进程,将其终止,并发送一封电子邮件表明自身已被感染。

processmonitor malproc started forever (taskend /F malproc & sendmail bob@abc.com malproc I have malproc on my computer!) 

解释一下:

  1. processmonitor malproc - 寻找所有名称为malproc的进程。
  2. started forever - 只监视进程的启动。
  3. (...) - 使用TCC的TASKEND命令强制终止malproc进程,然后创建并发送电子邮件。

TCC 的触发器命令是极其强大和灵活的,可以让您以前所未有的方式监视和管理您的计算机。

标签:触发器,--,htm,results,FinalResult,Command,Take,监视,TCC
来源: https://www.cnblogs.com/OldLiu/p/14679531.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有