Take Command 事件监视命令(触发器)
2021/4/18 10:25:13
本文主要是介绍Take Command 事件监视命令(触发器),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
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)
解释一下:
Foldermonitor d:\results
– 让命令监视子目录d:\results
。/i "FinalResult. htm"
- 只监视名称为FinalResult.htm
的文件。created forever
- 表示只查找新创建的文件,进行该操作的该循环将持续执行。(...)
- 将新文件复制到网站,并在复制后从源目录中删除该文件。您可以在这里执行批处理文件,而不是像我们那样使用命令组。
此命令会在当前 TCC 会话中创建单独的线程。
当查询到创建、删除、修改或重命名文件或文件夹时,FOLDERMONITOR
还会创建四个环境变量。执行命令后,变量将失效。
_FoldeRaction
– 文件或文件夹发生更改的类型。 可能的值包括:
CREATED
被创建DELETED
被删除MODIFIED
被修改(包括更改文件大小、属性、日期/时间戳)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!)
解释一下:
processmonitor myapp*
– 寻找所有名称以myapp
开头的进程。ended forever
– 只监视进程的终止。(...)
– 使用 TCC 内部Sendmail
命令创建并发送电子邮件。
这可用于保证生产环境的正常运行。
您还可以使用ProcessMonitor
监视正在启动的进程。以下脚本将查找在计算机上运行的某病毒进程,将其终止,并发送一封电子邮件表明自身已被感染。
processmonitor malproc started forever (taskend /F malproc & sendmail bob@abc.com malproc I have malproc on my computer!)
解释一下:
processmonitor malproc
- 寻找所有名称为malproc
的进程。started forever
- 只监视进程的启动。(...)
- 使用TCC的TASKEND
命令强制终止malproc
进程,然后创建并发送电子邮件。
TCC 的触发器命令是极其强大和灵活的,可以让您以前所未有的方式监视和管理您的计算机。
这篇关于Take Command 事件监视命令(触发器)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享