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

 更新时间:2025年09月11日 10:51:53   作者:卿·静  
本文主要介绍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 命令并一次性获取输出

参数:

  • command:完整的 shell 命令字符串
  • options:可设置输出内容的编码格式等
  • callback:回调函数,获取 error、stdout(标准输出)、stderr(错误输出),stdout 将包含剪贴板中的文本内容

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

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

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

命令说明:

  • Set-Clipboard 是 PowerShell 命令,用于将指定文本写入剪贴板。
  • 'hello wrold' 是要写入的文本内容,用单引号包裹

(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);
});

命令说明:

  • Set-Clipboard -Path <路径> 可以将文件对象复制到剪贴板。
  • 执行该命令后,用户可以在资源管理器中直接粘贴该文件。
  • 注意路径应使用双引号包裹,尤其是路径中包含空格或中文时。

(4)清空剪切板

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

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

命令说明:

  • cmd /c:调用 CMD 执行后面的命令并关闭命令行窗口。
  • echo off:输出空字符串。
  • | clip:将前面命令的输出(此处为空)通过管道符 | 传给 clip 命令。
  • clip:Windows 命令行工具,用于将输入内容复制到剪贴板。
  • 整体功能是向剪贴板写入空内容,达到清空效果,按下ctrl+v无反应,此时按下win+v打开剪切板,里面依旧有内容

3.总结对比

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

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

相关文章

  • Node在Controller层进行数据校验的过程详解

    Node在Controller层进行数据校验的过程详解

    这篇文章主要给大家介绍了关于Node在Controller层进行数据校验的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Nodejs高并发原理示例详解

    Nodejs高并发原理示例详解

    这篇文章主要为大家介绍了Nodejs高并发原理示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • nodejs+express搭建多人聊天室步骤

    nodejs+express搭建多人聊天室步骤

    本篇文章给大家详细讲解了nodejs+express搭建一个简易的多人聊天室的详细步骤,有兴趣的朋友学习下。
    2018-02-02
  • npm发包实践使用gRPC教程

    npm发包实践使用gRPC教程

    这篇文章主要为大家介绍了npm发包实践使用gRPC教程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • 使用Node.js find-up在父目录中高效寻找文件与目录

    使用Node.js find-up在父目录中高效寻找文件与目录

    find-up 是一个小巧但功能强大的 Node.js 包,它能帮助我们实现这一需求,本文将深入探究如何使用 find-up 进行有效搜索,并结合丰富的代码演示帮助大家快速掌握其用法,需要的朋友可以参考下
    2024-05-05
  • Node.js与PHP、Python的字符处理性能对比

    Node.js与PHP、Python的字符处理性能对比

    因为后续考虑实现 Fl 引擎的Node.js版本,所以对比了下Node.js和PHP的字符处理性能。发现Node.js真是甩了PHP几条街啊,再测试了下Python,比PHP还慢。
    2014-07-07
  • windows系统下更新nodejs版本的方案

    windows系统下更新nodejs版本的方案

    这篇文章主要介绍了windows系统下更新nodejs版本的方案,在文章给大家介绍了NodeJS 与 npm 在Windows下升级问题,需要的朋友可以参考下
    2017-11-11
  • 用NODE.JS中的流编写工具是要注意的事项

    用NODE.JS中的流编写工具是要注意的事项

    Nodejs读写流流的传输过程默认是以buffer的形式传输的,除非你给他设置其他编码形式, 小伙伴可以参考下。
    2016-03-03
  • 基于Node.js搭建hexo博客过程详解

    基于Node.js搭建hexo博客过程详解

    这篇文章主要介绍了基于Node.js搭建hexo博客过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
    2019-06-06
  • 在Mac OS下使用Node.js的简单教程

    在Mac OS下使用Node.js的简单教程

    这篇文章主要介绍了在Mac OS下使用Node.js的简单教程,Node.js是让JavaScript应用运行于服务器端的框架,需要的朋友可以参考下
    2015-06-06

最新评论