nodejs调用cmd命令实现复制目录

   本文给大家介绍的是如何在nodejs中调用CMD命令,从而实现目录的复制,非常的实用,有需要的小伙伴可以参考下。

  工作中一直需要对一些官网进行文件复制,并且替换内部的一些信息,以前都是手动操作的,或者通过自己写的firefox扩展来进行文件操作的。

  现在前端有nodejs了,为什么不用nodejs写个一键式的呢~~

  1.复制目录

  复制文件的时候,如果直接创建一个不存在的文件目录下就不成功了。要上级目录存在才可以。(nodejs API接触时间不长,如有有误,谢谢指正)。

  这样在写入文件的时候就检测一下目录是否存在,不存在则判断上级目录,之后一级一级目录创建回来,之后就可以复制文件了

  ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

var dirCache = {};//缓存减少判断
function makedir (pathStr, callback) {
if (dirCache[pathStr] == 1) {
callback();
} else {
fs.exists(pathStr, function (exists) {
if (exists == true) {
dirCache[pathStr] == 1;
callback();
} else {
makedir(path.dirname(pathStr), function () {
fs.mkdir(pathStr, function () {
dirCache[pathStr] == 1;
callback();
})
});
}
})
}
};

  2.后来还是考虑通过CMD命令“xcopy”实现,但是试了好9,直接执行,可是一直不行,有解决的,欢迎指正

  ?

1
2
3
4
5
6
7
8

var exec = require('child_process').exec;
exec('xcopy D:WORK_newodinQuest D:WORK_newnewGame /s /e /Q /Y /I',
function (error, stdout, stderr) {
if (error !== null) {
//console.log('exec error: ' + error);
}
 
});

  后来通过将CMD命令写入文件,通过call的方式调用的,就可以了。

  ?

1
2
3
4
5
6
7
8
9
10
11

fs.writeFile('xcopy.bat', cmdstr, function (err) {
if (err) throw err;
var exec = require('child_process').exec;
exec('call "'+process.cwd()+'/xcopy.bat',
function (error, stdout, stderr) {
if (error !== null) {
//console.log('exec error: ' + error);
}
 
});
});

  嗯,代码写的也就那样,都是一步步的异步嵌套,就不放出来了,省的被笑话

  以上所述就是本文的全部内容了,希望大家能够喜欢。

时间: 2024-11-28 17:32:09

nodejs调用cmd命令实现复制目录的相关文章

nodejs调用cmd命令实现复制目录_node.js

工作中一直需要对一些官网进行文件复制,并且替换内部的一些信息,以前都是手动操作的,或者通过自己写的firefox扩展来进行文件操作的. 现在前端有nodejs了,为什么不用nodejs写个一键式的呢~~ 1.复制目录 复制文件的时候,如果直接创建一个不存在的文件目录下就不成功了.要上级目录存在才可以.(nodejs API接触时间不长,如有有误,谢谢指正). 这样在写入文件的时候就检测一下目录是否存在,不存在则判断上级目录,之后一级一级目录创建回来,之后就可以复制文件了 var dirCache

nodejs调试cmd命令实现复制目录

  工作中一直需要对一些官网进行文件复制,并且替换内部的一些信息,以前都是手动操作的,或者通过自己写的firefox扩展来进行文件操作的. 现在前端有nodejs了,为什么不用nodejs写个一键式的呢~~ 1.复制目录 复制文件的时候,如果直接创建一个不存在的文件目录下就不成功了.要上级目录存在才可以.(nodejs API接触时间不长,如有有误,谢谢指正). 这样在写入文件的时候就检测一下目录是否存在,不存在则判断上级目录,之后一级一级目录创建回来,之后就可以复制文件了 var dirCac

c#调用cmd命令,将doc转换为 pdf

c#调用cmd命令,将doc转换为 pdf   using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; namespace Tools { /// <summary> /// doc文件转换为pdf文件 /// </summary> public class DocToPdf { private string savePath = ""

python调用cmd命令行制作刷博器_python

复制代码 代码如下: import webbrowser as webimport timeimport os count=0while count<10:    count=count+1    #你要刷的博客    web.open_new_tab("这里是博客地址")    time.sleep(1)else:    os.system('taskkill /F /IM  360se.exe') 这里主要学到三个知识点: 1.Python的线程原来是在time模块下 2.P

Windows系统中Java调用cmd命令及执行exe程序的方法_java

Java调用cmd命令,并输出显示信息: package com.anxin.cmd.test; import java.io.BufferedReader; import java.io.InputStreamReader; public class Command { public static void main(String[] args) { try { Runtime rt = Runtime.getRuntime(); Process pr = rt.exec("cmd /c di

C# 调用cmd命令

/***************************************************************** * C# 调用cmd命令 * 说明: * 本文记录一下C#怎么调用cmd命令. * * 2016-7-3 深圳 南山平山村 曾剑锋 ****************************************************************/ 一.参考文章: C#程序调用cmd执行命令 http://www.cnblogs.com/babyco

Win7 64位旗舰版系统下巧用cmd命令快速复制和删除文件夹的方法

  具体方法: 1.复制文件夹.假如我要把f盘的file文件夹复制到c盘根目录,就输入下面的命令: xcopy f:file c:file /e 2.删除文件夹.假设删除d盘下的123文件夹,输入下面命令: del/s/q d:123*.* ----(用于删除文件夹下的子文件) rd/s/q d:123 ----(用于删除文件夹) /s参数为子目录 /q参数为不用确认 解析:删除文件用的是del命令,那么这个命令并不像ren命令通吃文件和文件夹一样,del是不能删除文件夹的.因为删除文件夹必须使

PowerShell入门教程之Cmd命令与PowerShell命令相互调用的方法_PowerShell

     单独使用一种脚本来完成一项任务是理想的状态,而现实的情况往往是,因为历史原因.或者团队组成,你不得不将多种脚本或者程序组合在一起,来完成某项任务.本文的讨论范围是Cmd命令与PowerShell命令之间的组合与调用.      毋庸置疑,Cmd命令与PowerShell命令之间的调用有两个方向.即在Cmd命令中调用PowerShell的命令,以及在PowerShell脚本中调用Cmd命令.需要说明的是,这里的调用分两个层次:一.简单的在其中一个的环境中执行另外一个命令,完成部分工作:二

cmd-用C#调用CMD时,实现同步输出结果,而不是等命令执行完了后再输出。

问题描述 用C#调用CMD时,实现同步输出结果,而不是等命令执行完了后再输出. 用C#调用CMD时,如何实现同步输出结果,而不是等命令执行完了后再输出. 解决方案 JAVA中调用CMD命令,并输出执行结果 解决方案二: 用管道跟命令通信,获取它的输出.