const fs = require("fs"); const request = require("request"); if (!fs.existsSync("upload")) { fs.mkdirSync("upload"); } const str = fs.readFileSync("/Users/drew/Desktop/jmrh.sql").toString(); let res = str.match(/https?:\/\/.*\.(jpg|png|jpeg)/g); res.forEach((i) => { console.log(i); let src = i; let res2 = /https?:\/\/.*?\/(.*)\/(.*)/.exec(src); let path; let filename; if (res2) { path = "upload/" + res2[1]; filename = res2[2]; } else { path = "upload/"; filename = src.replace(/https?:.*\//, ""); } if (!fs.existsSync(path)) { fs.mkdirSync(path, { recursive: true }); } console.log(src); console.log(path); console.log(filename); request(src).pipe(fs.createWriteStream(path + "/" + filename)); });