我们的每个工作都有一个文件夹,该文件夹由我们的会计软件在输入工作时触发的批处理文件创建。在该文件夹中有一个名为“Sales Pictures”的子文件夹。当在任何作业下的任何“销售图片”文件夹中创建文件时,我希望收到电子邮件通知。值得庆幸的是,我不需要返回并更改 50000 个左右的销售图片文件夹中的每一个,只需更改新创建的文件夹即可。这在没有第 3 方软件或免费或开源软件的情况下使用命令行在 Windows 2003 R2 中是否可能?
谢谢
我们的每个工作都有一个文件夹,该文件夹由我们的会计软件在输入工作时触发的批处理文件创建。在该文件夹中有一个名为“Sales Pictures”的子文件夹。当在任何作业下的任何“销售图片”文件夹中创建文件时,我希望收到电子邮件通知。值得庆幸的是,我不需要返回并更改 50000 个左右的销售图片文件夹中的每一个,只需更改新创建的文件夹即可。这在没有第 3 方软件或免费或开源软件的情况下使用命令行在 Windows 2003 R2 中是否可能?
谢谢
我还没有测试过语法,但在我的脑海中,这些 PowerShell 行应该可以工作:
Register-WmiEvent -Query $query -Action {send-mailmessage -to "[email protected]" -from "[email protected]" -subject "new file" -body "新文件已创建" + ($event.SourceEventArgs .NewEvent.TargetInstance | 选择 -Expand FileName, Extension, Name)}
其中 mypath 是路径的名称,您需要将自己的电子邮件地址放入其中。如果尚未设置 $PSEmailServer 首选项变量,您可能还必须添加 -smtpserver 参数
这会创建一个临时的 wmi 事件和消费者 - 这意味着只要控制台打开它就会工作。如果您想要一个永久提供者,您可以使用 mofcomp 创建一个或使用像powerevents这样的模块来使创建事件更容易一些。永久事件将在重启等情况下继续存在。