zoukankan      html  css  js  c++  java
  • Electron——复制文件操作

    前言

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

    内容

    nodejs

    因为copyFile不能保证复制操作的原子性,所以舍弃;

    windows copy

    copy命令参数

    C:UsersWangYangAppDataRoamingElectron>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:UsersWangYangAppDataRoamingElectron>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)
        }
    }
    
    学无止境,谦卑而行.
  • 相关阅读:
    第二类斯特林数学习笔记
    [ZJOI2017]树状数组
    「LibreOJ Round #6」花火
    [Ynoi2016]这是我自己的发明 莫队
    codeforces706E
    扩展CRT
    PKUSC2018游记
    「PKUWC 2018」Minimax
    「SHOI2015」(LOJ2038)超能粒子炮・改
    Codeforces712E
  • 原文地址:https://www.cnblogs.com/wangyang0210/p/15259852.html
Copyright © 2011-2022 走看看