mirror of
https://github.com/fofolee/uTools-quickcommand.git
synced 2025-06-07 21:46:12 +08:00
42 lines
1022 B
JavaScript
42 lines
1022 B
JavaScript
const { runCsharpFeature } = require("../../csharp");
|
|
|
|
// 监控剪贴板变化
|
|
const watchClipboard = async function () {
|
|
const args = ["-type", "clipboard", "-once"];
|
|
const result = await runCsharpFeature("monitor", args);
|
|
if (result && result.startsWith("Error:")) {
|
|
throw new Error(result.substring(7));
|
|
}
|
|
return JSON.parse(result);
|
|
};
|
|
|
|
// 监控文件系统变化
|
|
const watchFileSystem = async function (watchPath, options = {}) {
|
|
const { filter = "*.*", recursive = true } = options;
|
|
|
|
if (!watchPath) {
|
|
throw new Error("必须指定监控路径");
|
|
}
|
|
|
|
const args = ["-type", "filesystem", "-path", watchPath, "-once"];
|
|
|
|
if (filter !== "*.*") {
|
|
args.push("-filter", filter);
|
|
}
|
|
|
|
if (!recursive) {
|
|
args.push("-recursive", "false");
|
|
}
|
|
|
|
const result = await runCsharpFeature("monitor", args);
|
|
if (result && result.startsWith("Error:")) {
|
|
throw new Error(result.substring(7));
|
|
}
|
|
return JSON.parse(result);
|
|
};
|
|
|
|
module.exports = {
|
|
watchClipboard,
|
|
watchFileSystem,
|
|
};
|