前言
在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)
}
}