导航栏: 首页 评论列表

NodeJS 遍历文件夹修改文件

默认分类 2020/10/03 02:46

NodeJS 遍历文件夹修改文件:

#!/usr/bin/env node
'use strict'
var fs = require('fs')
var path = require('path')
function fatal(message) {
  console.error(message)
  process.exit(1)
}
function processFile(inputFile1) {
  fs.readFile(inputFile1, {encoding: 'utf8'}, function(err, data1) {
    if (err) return fatal('Cannot read ' + inputFile1 + '\n' + err.message)
    var inputFile2 = inputFile1.replace(folder1, folder2)
    fs.readFile(inputFile2, {encoding: 'utf8'}, function(err, data2) {
      if (err) return fatal('Cannot read ' + inputFile2 + '\n' + err.message)
      var left = data2.split('<div><h3>Difficulty:</h3><span')[1]
      if (!left) return console.log('none ' + inputFile2)
      var txt = data1 + '<div><h3>Difficulty:</h3><span' + left
      fs.writeFile(inputFile1, txt, {encoding: 'utf8'}, function(err) {
        if (err) fatal('Cannot write ' + inputFile1 + '\n' + err.message)
        else console.log('ok ' + inputFile1)
      })
    })
  })
}
function processDirectory() {
  var inputDir = folder1
  fs.readdir(inputDir, function(err, files) {
    if (err) return fatal('Cannot read directory ' + inputDir + '\n' + err.message)
    files.forEach(function(file) {
      var inputFile1 = path.join(inputDir, file)
      if (!fs.existsSync(inputFile1.replace(folder1, folder2))) return ''
      processFile(inputFile1)
    })
  })
}
var folder1 = 'aaa'
var folder2 = 'problems2'
processDirectory()


>> 留言评论