node.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > node.js > Node.js操作剪贴板

浅谈Node.js操作剪贴板的两种方式

作者:卿·静

本文主要介绍Node.js中通过第三方工具库clipboardy和child_process.文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在 Node.js 中,我们可以通过多种方式实现对系统剪贴板的读写操作。本文将以一段示例代码为基础,分别介绍两种常见的剪贴板操作方式:

1.clipboardy

下载第三方工具库clipboardy ,调用该库封装的方法可直接向剪切板读写内容。

npm install clipboardy 

clipboardy不支持使用require导入,需在package.json文件中添加选项 "type": "module" ,在代码中使用import导入工具库

import clipboard from "clipboardy";

clipboard.writeSync("hello world"); // 向剪贴板写入内容

方法说明: clipboard.writeSync(text: string): void 

参数:text:要写入系统剪贴板的文本内容,类型为 string

功能:同步将字符串写入剪贴板。若执行成功,按下ctrl+v可粘贴该内容,如果文本内容为空字符串,按下ctrl+v无反应,类似于清空剪切板

let str = clipboard.readSync();  // 从剪贴板读取内容

console.log(str);

方法说明:clipboard.readSync(): string

返回值:返回当前剪贴板中存储的文本内容,类型为 string

功能:同步读取系统剪贴板中的文本数据

clipboardy工具库的特点为简洁、跨平台,适合快速开发,但无法复制文件。

2.child_process.exec

在某些场景中,我们可能希望通过系统命令实现更复杂的剪贴板操作,比如操作文件、清空剪贴板等。这时可以使用 Node.js 内置的 child_process 模块中的 exec() 函数。

(1)读取剪切板

import { exec } from "child_process";

const get_command = `powershell Get-Clipboard`;

exec(get_command, (error, stdout, stderr) => {
  if (error) {
    console.error("读取剪贴板内容失败:", error);
    return;
  }
  console.log(stdout);
});

命令说明:Get-Clipboard 是 PowerShell 命令,用于获取当前剪贴板的内容

方法说明:   exec(command[, options][, callback]),功能是执行一条 shell 命令并一次性获取输出

参数:

(2)设置剪切板字符内容

const set_command = `powershell Set-Clipboard 'hello wrold'`;

exec(set_command, (error, stdout, stderr) => {
  if (error) {
    console.error("复制内容到剪贴板失败:", error);
    return;
  }
  console.log(stdout);
});

命令说明:

(3)设置剪切板文件内容

const file_command = `powershell Set-Clipboard -Path "F:/CSDN/test.json"`;

exec(file_command, (error, stdout, stderr) => {
  if (error) {
    console.error("复制文件到剪贴板失败:", error);
    return;
  }
  console.log(stdout);
});

命令说明:

(4)清空剪切板

const clear_command = `cmd /c "echo off | clip"`;

exec(clear_command, (error, stdout, stderr) => {
  if (error) {
    console.error("清空剪贴板失败:", error);
    return;
  }
  console.log(stdout);
});

命令说明:

3.总结对比

操作方式优点适用场景
clipboardy简洁、跨平台、安装即用快速开发、文本操作
exec+命令功能更丰富,可操作文件等深度定制、系统集成

到此这篇关于浅谈Node.js 操作剪贴板的两种方式的文章就介绍到这了,更多相关Node.js 操作剪贴板内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文