亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

nodejs調(diào)用cmd命令實現(xiàn)復(fù)制目錄

 更新時間:2015年05月04日 09:15:05   投稿:hebedich  
本文給大家介紹的是如何在nodejs中調(diào)用CMD命令,從而實現(xiàn)目錄的復(fù)制,非常的實用,有需要的小伙伴可以參考下。

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

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

1.復(fù)制目錄

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

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

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”實現(xiàn),但是試了好9,直接執(zhí)行,可是一直不行,有解決的,歡迎指正

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的方式調(diào)用的,就可以了。

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

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

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

相關(guān)文章

  • 深入理解node.js之path模塊

    深入理解node.js之path模塊

    本篇文章主要介紹了深入理解node.js之path模塊,詳細介紹了path模塊的用法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • nodejs遞歸文件夾獲取所有文件路徑實例

    nodejs遞歸文件夾獲取所有文件路徑實例

    這篇文章主要為大家介紹了nodejs遞歸文件夾獲取所有文件路徑實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • node-sass常見報錯的問題及解決方法

    node-sass常見報錯的問題及解決方法

    在安裝node-sass時,經(jīng)常會遇到下載慢、版本不匹配或python錯誤等問題,使用淘寶鏡像加速下載、通過nvm管理node版本或指定node-sass版本號安裝,都能有效解決這些問題,若遇到python相關(guān)錯誤,檢查node版本是否合適通常可以解決,感興趣的朋友一起看看本文吧
    2024-09-09
  • node項目使用http模塊發(fā)送get-post請求方式

    node項目使用http模塊發(fā)送get-post請求方式

    這篇文章主要介紹了node項目使用http模塊發(fā)送get-post請求方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • nodejs實現(xiàn)范圍請求的實現(xiàn)代碼

    nodejs實現(xiàn)范圍請求的實現(xiàn)代碼

    這篇文章主要介紹了nodejs實現(xiàn)范圍請求的實現(xiàn)代碼,使服務(wù)器支持范圍請求,允許客戶端只請求文檔的一部分,非常具有實用價值,需要的朋友可以參考下
    2018-10-10
  • Node.js DES加密的簡單實現(xiàn)

    Node.js DES加密的簡單實現(xiàn)

    下面小編就為大家?guī)硪黄狽ode.js DES加密的簡單實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • nodejs利用readline提示輸入內(nèi)容實例代碼

    nodejs利用readline提示輸入內(nèi)容實例代碼

    這篇文章主要給大家介紹了關(guān)于nodejs利用readline提示輸入內(nèi)容的相關(guān)資料,Readline是Node.js里實現(xiàn)標(biāo)準(zhǔn)輸入輸出的封裝好的模塊,通過這個模塊我們可以以逐行的方式讀取數(shù)據(jù)流,需要的朋友可以參考下
    2021-07-07
  • nvm安裝指定版本node失敗的解決方法

    nvm安裝指定版本node失敗的解決方法

    工作中,碰到一個項目需要舊版本的node運行(版本為14.21.3),于是我用nvm isntall 14.21.3按照該版本Node, 出現(xiàn)了報錯,所以本文記錄一下nvm安裝指定版本node失敗的解決方法,需要的朋友可以參考下
    2025-04-04
  • koa-compose簡單實現(xiàn)及使用的妙處

    koa-compose簡單實現(xiàn)及使用的妙處

    這篇文章主要為大家介紹了koa-compose簡單實現(xiàn)及使用的妙處詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • node+vue實現(xiàn)文件上傳功能

    node+vue實現(xiàn)文件上傳功能

    這篇文章主要介紹了node+vue實現(xiàn)文件上傳功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05

最新評論