上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

使用node移动文件目录

[复制链接]
  • TA的每日心情
    开心
    2024-7-16 15:40
  • 签到天数: 276 天

    [LV.8]以坛为家I

    115

    主题

    460

    回帖

    997

    积分

    荣誉开发者

    积分
    997

    荣誉开发者油中2周年卓越贡献生态建设者油中3周年

    发表于 2024-3-19 17:27:31 | 显示全部楼层 | 阅读模式

    文件目录下面有图片和压缩包,我想把图片都移动到一个图片目录下面,以下是代码,希望对你有所帮助

    const fs = require('fs');
    const path = require('path');
    const sourceDir = 'E:\\BaiduNetdiskDownload\\html模板网页版\\单页\\单页';
    const imageDir = 'E:\\BaiduNetdiskDownload\\html模板网页版\\单页\\单页\\图片';
    
    fs.readdir(sourceDir, (err, files) => {
      if (err) {
        console.error('Error reading directory:', err);
        return;
      }
    
      files.forEach(file => {
        // Node.js中的path模块的join方法,将源目录路径sourceDir和文件名file拼接成完整的文件路径filePath
        const filePath = path.join(sourceDir, file);
    
        fs.stat(filePath, (err, stats) => {
          if (err) {
            console.error('Error stating file:', err);
            return;
          }
    
          if (stats.isFile() && ['.jpg', '.jpeg', '.png', '.gif'].includes(path.extname(file).toLowerCase())) {
            const destFilePath = path.join(imageDir, file);
            // Node.js中的fs模块的rename方法,将源文件filePath移动到目标文件路径destFilePath
            fs.rename(filePath, destFilePath, err => {
              if (err) {
                console.error('Error moving file:', err);
              } else {
                console.log(`Moved ${file} to ${imageDir}`);
              }
            });
          }
        });
      });
    });
    
    接脚本定制
    I frequently record, because want to leave something.
  • TA的每日心情
    开心
    3 小时前
  • 签到天数: 213 天

    [LV.7]常住居民III

    305

    主题

    4188

    回帖

    4055

    积分

    管理员

    积分
    4055

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2024-3-20 11:46:10 | 显示全部楼层
    嵌套地狱
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    11 小时前
  • 签到天数: 811 天

    [LV.10]以坛为家III

    31

    主题

    552

    回帖

    1555

    积分

    荣誉开发者

    积分
    1555

    荣誉开发者新人进步奖油中2周年生态建设者新人报道挑战者 lv2油中3周年喜迎中秋

    发表于 2024-3-20 15:41:44 | 显示全部楼层

    同fs自带的同步函数就不会嵌套了
    就是不知道会不会有啥问题 好像不能设置timeout
    回复

    使用道具 举报

  • TA的每日心情
    开心
    3 小时前
  • 签到天数: 213 天

    [LV.7]常住居民III

    305

    主题

    4188

    回帖

    4055

    积分

    管理员

    积分
    4055

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2024-3-20 15:46:09 | 显示全部楼层
    steven026 发表于 2024-3-20 15:41
    同fs自带的同步函数就不会嵌套了
    就是不知道会不会有啥问题 好像不能设置timeout ...

    fs的同步函数会阻塞线程,会影响其它操作
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表