windows - 监视 Windows 文件夹中添加的 PDF 文件
问题描述
我一直在尝试几种不同的方法来完成这个看似简单的任务,但似乎没有任何效果。
我想将 PDF 文件添加到 Windows 10 机器上的文件夹中,并在发生这种情况时执行脚本。该脚本最终是 illustrator 的扩展 javascript 文件,但是,如果需要,我可以从命令行/VBS/Powershell 或其他选项运行此文件。
我首先尝试使用 Windows 任务计划程序并成功添加了一个事件侦听器,理论上它应该执行我作为参数提供的 PowerShell 脚本。我看到任务正在运行,但它似乎没有做任何事情。以下是配置的样子:
此外,我尝试使用 FileSytemWatcher 创建一个 Windows 服务来完成相同的任务。我已经设法实现,每当将文件添加到文件夹中时,服务都会将此文件复制到另一个文件夹中。这证明您在下面看到的代码至少是被执行的。但是,执行 PowerShell 脚本或执行命令行指令的具体操作似乎不起作用。这是代码:
private void OnChanged(object sender, FileSystemEventArgs e)
{
Console.WriteLine("File: " + e.FullPath + " " + e.ChangeType);
File.Copy(e.FullPath, ConfigurationManager.AppSettings["UpdatePath"] + "\\" + Path.GetFileName(e.FullPath), true);
ProcessStartInfo processInfo = new ProcessStartInfo
{
WindowStyle = ProcessWindowStyle.Normal,
CreateNoWindow = true,
UseShellExecute = false,
FileName = "PowerShell.exe",
Arguments = "-NoExit -noprofile -executionpolicy bypass -file \"\"\"C:\\Users\\Fabian\\Desktop\\saturation.ps1\"\"\""
//Arguments = "\"C:\\Program Files\\Adobe\\Adobe Illustrator 2021\\Support Files\\Contents\\Windows\\Illustrator.exe\" -r C:\\Users\\Fabian\\Desktop\\ApplySaturationFinal.jsx"
};
Process.Start(processInfo);
}
命令行的注释行(FileName =“cmd.exe”)。
自然地,我尝试过自己执行 powershell 脚本和命令行指令,它们工作得很好。这里的问题是如何创建一个不断侦听新 PDF 文件并相应地执行指示脚本的各种后台服务。
解决方案
推荐阅读
- google-sheets - 如何在 Google 表格中编写“下周五”代码?
- c - 在结构中设置char *字段,C语言
- html - CSS Hover - 悬停在块上时更改标题、描述和背景
- java - Eclipse WindowBuilder 在设计选项卡中没有显示任何内容
- javascript - 如何仅删除存储在 Localstorage 中的字符串化 JSON 中的一个对象?
- git - 如何仅比较两个分支引入的更改?
- vim - vim 用冒号 cmd 复制到剪贴板
- algorithm - 递归和迭代DFS算法时间复杂度和空间复杂度
- python - 将 pandas 对象转换为浮点数
- qbasic - QBasic 对比 快速基础