国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

nodejs調用cmd命令實現復制目錄

2019-11-20 12:33:59
字體:
來源:轉載
供稿:網友

工作中一直需要對一些官網進行文件復制,并且替換內部的一些信息,以前都是手動操作的,或者通過自己寫的firefox擴展來進行文件操作的。

現在前端有nodejs了,為什么不用nodejs寫個一鍵式的呢~~

1.復制目錄

復制文件的時候,如果直接創建一個不存在的文件目錄下就不成功了。要上級目錄存在才可以。(nodejs API接觸時間不長,如有有誤,謝謝指正)。

這樣在寫入文件的時候就檢測一下目錄是否存在,不存在則判斷上級目錄,之后一級一級目錄創建回來,之后就可以復制文件了

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,直接執行,可是一直不行,有解決的,歡迎指正

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

  后來通過將CMD命令寫入文件,通過call的方式調用的,就可以了。

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);      }      });}); 

嗯,代碼寫的也就那樣,都是一步步的異步嵌套,就不放出來了,省的被笑話

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁南县| 江永县| 郁南县| 海伦市| 永仁县| 高州市| 韶山市| 新巴尔虎右旗| 兴业县| 修文县| 内黄县| 赤峰市| 阜新| 岱山县| 白银市| 宜丰县| 天门市| 鸡西市| 潍坊市| 集安市| 乌拉特前旗| 临朐县| 尼勒克县| 汉源县| 荣昌县| 伊春市| 永兴县| 乃东县| 丽水市| 长葛市| 沂水县| 剑川县| 公安县| 日照市| 甘肃省| 韶山市| 萨嘎县| 禹城市| 犍为县| 河东区| 昌宁县|