欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談Node.js操作剪貼板的兩種方式

 更新時(shí)間:2025年09月11日 10:51:53   作者:卿·靜  
本文主要介紹Node.js中通過(guò)第三方工具庫(kù)clipboardy和child_process.文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

在 Node.js 中,我們可以通過(guò)多種方式實(shí)現(xiàn)對(duì)系統(tǒng)剪貼板的讀寫(xiě)操作。本文將以一段示例代碼為基礎(chǔ),分別介紹兩種常見(jiàn)的剪貼板操作方式:

1.clipboardy

下載第三方工具庫(kù)clipboardy ,調(diào)用該庫(kù)封裝的方法可直接向剪切板讀寫(xiě)內(nèi)容。

npm install clipboardy 

clipboardy不支持使用require導(dǎo)入,需在package.json文件中添加選項(xiàng) "type": "module" ,在代碼中使用import導(dǎo)入工具庫(kù)

import clipboard from "clipboardy";

clipboard.writeSync("hello world"); // 向剪貼板寫(xiě)入內(nèi)容

方法說(shuō)明: clipboard.writeSync(text: string): void 

參數(shù):text:要寫(xiě)入系統(tǒng)剪貼板的文本內(nèi)容,類(lèi)型為 string

功能:同步將字符串寫(xiě)入剪貼板。若執(zhí)行成功,按下ctrl+v可粘貼該內(nèi)容,如果文本內(nèi)容為空字符串,按下ctrl+v無(wú)反應(yīng),類(lèi)似于清空剪切板

let str = clipboard.readSync();  // 從剪貼板讀取內(nèi)容

console.log(str);

方法說(shuō)明:clipboard.readSync(): string

返回值:返回當(dāng)前剪貼板中存儲(chǔ)的文本內(nèi)容,類(lèi)型為 string

功能:同步讀取系統(tǒng)剪貼板中的文本數(shù)據(jù)

clipboardy工具庫(kù)的特點(diǎn)為簡(jiǎn)潔、跨平臺(tái),適合快速開(kāi)發(fā),但無(wú)法復(fù)制文件。

2.child_process.exec

在某些場(chǎng)景中,我們可能希望通過(guò)系統(tǒng)命令實(shí)現(xiàn)更復(fù)雜的剪貼板操作,比如操作文件、清空剪貼板等。這時(shí)可以使用 Node.js 內(nèi)置的 child_process 模塊中的 exec() 函數(shù)。

(1)讀取剪切板

import { exec } from "child_process";

const get_command = `powershell Get-Clipboard`;

exec(get_command, (error, stdout, stderr) => {
  if (error) {
    console.error("讀取剪貼板內(nèi)容失敗:", error);
    return;
  }
  console.log(stdout);
});

命令說(shuō)明:Get-Clipboard 是 PowerShell 命令,用于獲取當(dāng)前剪貼板的內(nèi)容

方法說(shuō)明:   exec(command[, options][, callback]),功能是執(zhí)行一條 shell 命令并一次性獲取輸出

參數(shù):

  • command:完整的 shell 命令字符串
  • options:可設(shè)置輸出內(nèi)容的編碼格式等
  • callback:回調(diào)函數(shù),獲取 error、stdout(標(biāo)準(zhǔn)輸出)、stderr(錯(cuò)誤輸出),stdout 將包含剪貼板中的文本內(nèi)容

(2)設(shè)置剪切板字符內(nèi)容

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

exec(set_command, (error, stdout, stderr) => {
  if (error) {
    console.error("復(fù)制內(nèi)容到剪貼板失敗:", error);
    return;
  }
  console.log(stdout);
});

命令說(shuō)明:

  • Set-Clipboard 是 PowerShell 命令,用于將指定文本寫(xiě)入剪貼板。
  • 'hello wrold' 是要寫(xiě)入的文本內(nèi)容,用單引號(hào)包裹

(3)設(shè)置剪切板文件內(nèi)容

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

exec(file_command, (error, stdout, stderr) => {
  if (error) {
    console.error("復(fù)制文件到剪貼板失敗:", error);
    return;
  }
  console.log(stdout);
});

命令說(shuō)明:

  • Set-Clipboard -Path <路徑> 可以將文件對(duì)象復(fù)制到剪貼板。
  • 執(zhí)行該命令后,用戶(hù)可以在資源管理器中直接粘貼該文件。
  • 注意路徑應(yīng)使用雙引號(hào)包裹,尤其是路徑中包含空格或中文時(shí)。

(4)清空剪切板

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

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

命令說(shuō)明:

  • cmd /c:調(diào)用 CMD 執(zhí)行后面的命令并關(guān)閉命令行窗口。
  • echo off:輸出空字符串。
  • | clip:將前面命令的輸出(此處為空)通過(guò)管道符 | 傳給 clip 命令。
  • clip:Windows 命令行工具,用于將輸入內(nèi)容復(fù)制到剪貼板。
  • 整體功能是向剪貼板寫(xiě)入空內(nèi)容,達(dá)到清空效果,按下ctrl+v無(wú)反應(yīng),此時(shí)按下win+v打開(kāi)剪切板,里面依舊有內(nèi)容

3.總結(jié)對(duì)比

操作方式優(yōu)點(diǎn)適用場(chǎng)景
clipboardy簡(jiǎn)潔、跨平臺(tái)、安裝即用快速開(kāi)發(fā)、文本操作
exec+命令功能更豐富,可操作文件等深度定制、系統(tǒng)集成

到此這篇關(guān)于淺談Node.js 操作剪貼板的兩種方式的文章就介紹到這了,更多相關(guān)Node.js 操作剪貼板內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Node.js中process模塊常用的屬性和方法

    Node.js中process模塊常用的屬性和方法

    Node.js中的process模塊用來(lái)與當(dāng)前進(jìn)程互動(dòng),可以通過(guò)全局變量process訪問(wèn),不必使用require命令加載。它是一個(gè)EventEmitter對(duì)象的實(shí)例。下面這篇文章給大家介紹了Node.js中process模塊常用的屬性和方法,有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。
    2016-12-12
  • 利用python分析access日志的方法

    利用python分析access日志的方法

    最近在自學(xué)python,光看是不行的,還是要多實(shí)操的。這就是一個(gè)寫(xiě)給自己的小小工具。主要功能是,便利日志文件夾下的文件,根據(jù)設(shè)定的關(guān)鍵字查找是否有web攻擊行為。有需要的朋友們下面來(lái)一起看看吧。
    2016-10-10
  • Node.js實(shí)現(xiàn)數(shù)據(jù)推送

    Node.js實(shí)現(xiàn)數(shù)據(jù)推送

    這篇文章主要為大家詳細(xì)介紹了Node.js實(shí)現(xiàn)數(shù)據(jù)推送的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-04-04
  • nodejs利用http模塊實(shí)現(xiàn)銀行卡所屬銀行查詢(xún)和騷擾電話驗(yàn)證示例

    nodejs利用http模塊實(shí)現(xiàn)銀行卡所屬銀行查詢(xún)和騷擾電話驗(yàn)證示例

    本篇文章主要介紹了nodejs利用http模塊實(shí)現(xiàn)銀行卡所屬銀行查詢(xún)和騷擾電話驗(yàn)證示例,有興趣的可以了解一下。
    2016-12-12
  • node.js命令行教程圖文詳解

    node.js命令行教程圖文詳解

    本文先介紹原生的node.js實(shí)現(xiàn)命令行交互,了解原生的api,然后通過(guò)commander.js和inquirer.js實(shí)現(xiàn)一個(gè)完整的交互命令行工具。感興趣的朋友跟隨小編一起看看吧
    2019-05-05
  • 前端之npm運(yùn)行時(shí)配置文件.npmrc的方法(可用于配置npm淘寶源)

    前端之npm運(yùn)行時(shí)配置文件.npmrc的方法(可用于配置npm淘寶源)

    這篇文章主要給大家介紹了關(guān)于前端之npm運(yùn)行時(shí)配置文件.npmrc(可用于配置npm淘寶源)的相關(guān)資料,.npmrc 文件是用于配置 npm(Node.js 包管理器)行為的配置文件,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07
  • NodeJS http模塊用法示例【創(chuàng)建web服務(wù)器/客戶(hù)端】

    NodeJS http模塊用法示例【創(chuàng)建web服務(wù)器/客戶(hù)端】

    這篇文章主要介紹了NodeJS http模塊用法,結(jié)合實(shí)例形式分析了node.js創(chuàng)建web服務(wù)器與客戶(hù)端,進(jìn)行HTTP通信的相關(guān)操作技巧,需要的朋友可以參考下
    2019-11-11
  • 利用node.js啟動(dòng)本地服務(wù)器的操作指南(超詳細(xì))

    利用node.js啟動(dòng)本地服務(wù)器的操作指南(超詳細(xì))

    這篇文章主要介紹了利用node.js啟動(dòng)本地服務(wù)器的操作指南(超詳細(xì)),有很多小伙伴制作網(wǎng)站或者小程序時(shí),需要通過(guò)服務(wù)器來(lái)把前端和后端連接起來(lái),那么我們今天學(xué)習(xí)啟動(dòng)node.js服務(wù)器,文中有詳細(xì)的代碼示例和圖文供大家參考,具有一定的參考價(jià)值,需要的朋友可以參考下
    2024-05-05
  • node.js中的http.createClient方法使用說(shuō)明

    node.js中的http.createClient方法使用說(shuō)明

    這篇文章主要介紹了node.js中的http.createClient方法使用說(shuō)明,本文介紹了http.createClient的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • node vue項(xiàng)目開(kāi)發(fā)之前后端分離實(shí)戰(zhàn)記錄

    node vue項(xiàng)目開(kāi)發(fā)之前后端分離實(shí)戰(zhàn)記錄

    其實(shí)基于vue.js+node.js構(gòu)建的開(kāi)源博客系統(tǒng)有很多,下面這篇文章主要給大家介紹了關(guān)于node vue項(xiàng)目開(kāi)發(fā)之前后端分離的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友下面來(lái)一起看看吧。
    2017-12-12

最新評(píng)論