Electron——復制文件操作


前言

在electron我們如何操作文件呢,首選一般肯定都是fs;

內容

nodejs

因為copyFile不能保證復制操作的原子性,所以舍棄;

windows copy

copy命令參數

C:\Users\WangYang\AppData\Roaming\Electron>copy /?
將一份或多份文件復制到另一個位置。

COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source [/A | /B]
     [+ source [/A | /B] [+ ...]] [destination [/A | /B]]

  source       指定要復制的文件。
  /A           表示一個 ASCII 文本文件。
  /B           表示一個二進位文件。
  /D           允許解密要創建的目標文件
  destination  為新文件指定目錄和/或文件名。
  /V           驗證新文件寫入是否正確。
  /N           復制帶有非 8dot3 名稱的文件時,
               盡可能使用短文件名。
  /Y           不使用確認是否要覆蓋現有目標文件
               的提示。
  /-Y          使用確認是否要覆蓋現有目標文件
               的提示。
  /Z           用可重新啟動模式復制已聯網的文件。
  /L           如果源是符號鏈接,請將鏈接復制
               到目標而不是源鏈接指向的實際文件。

命令行開關 /Y 可以在 COPYCMD 環境變量中預先設定。
這可能會被命令行上的 /-Y 替代。除非 COPY
命令是在一個批處理腳本中執行的,默認值應為
在覆蓋時進行提示。

要附加文件,請為目標指定一個文件,為源指定
數個文件(用通配符或 file1+file2+file3 格式)。

示例

C:\Users\WangYang\AppData\Roaming\Electron>copy wxWorkHelper.db Cache /V
已復制         1 個文件。

代碼

const exec = require('child_process').exec

/**
 * 復制文件到指定目錄
 * @param src
 * @param dest
 * @param callbackFun
 */
export function cmdCopy (src, dest, callbackFun) {
    try {
        exec(`copy ${ src } ${ dest } /Y /V`, (err) => {
          if (err) {
            callbackFun(false)
            return
          }
          callbackFun(true)
        })
    } catch (e) {
      callbackFun(false)
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM