前言
在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) } }
学无止境,谦卑而行.