找回密码
 立即注册

微信登录

只需一步,快速开始

QQ登录

只需一步,快速开始

查看: 33|回复: 0

[心得] aardio批处理脚本

[复制链接]
  • TA的每日心情
    开心
    5 小时前
  • 签到天数: 25 天

    连续签到: 2 天

    [LV.4]偶尔看看III

    17

    主题

    29

    回帖

    368

    积分

    中级会员

    积分
    368
    来自: 中国贵州贵阳
    发表于 3 天前 | 显示全部楼层 |阅读模式 来自: 中国贵州贵阳
    非业余 - aardio 编程语言 - 非官方问答社区
    风行者三期培训:Aardio+Python+Flutter,1000集课程让你成为全栈开发高手!https://mp.weixin.qq.com/s/_WOoHFtITUyLk2k7BXYGkg
    Aardio培训大揭秘,轻松上手打造个人项目!https://mp.weixin.qq.com/s/cr47qhp_Cpz0p57lbbPwug
    aardio风行者第二期培训班https://mp.weixin.qq.com/s/uB6XHUDnGSk0JlWuiBE9AA
    aardio风行者第三期培训班https://mp.weixin.qq.com/s/cdZcvFiAWhlYTaSrQGCPvA
    本帖最后由 XWCXF 于 2025-4-21 12:07 编辑

    坚持学习编程已经快两个月了,从最初连变量定义都磕磕绊绊,到现在能独立完成简单功能,每一步都充满挑战与惊喜。今天,我终于解锁了批处理脚本这个“效率神器”,像是在编程地图上开拓了全新的领域! 代码亲测有效的,大家把路径改成自己的就行了。

    批量文件重命名大作战
    其实早在整理工作资料时,我就幻想过:要是能一键处理那些杂乱的文件名该多好!没想到今天的课程直接“对症下药”。

    给所有文件加前缀
    import fsys;
    var targetDir = `目标文件夹路径`;
    fsys.enum(
        targetDir,
        "*.*",
        function(dir, filename) {
            var newimg = "新的"+filename;
            fsys.rename(dir + filename, dir + newimg);
        }
    );

    运行代码的瞬间,看着文件名齐刷刷加上前缀,就像给每个文件贴上了专属标签。想起上个月为了整理客户发来的上百张图片,手动重命名到手指发酸,要是当时会这招,能省下多少时间!

    精准修改.jpg文件
    import fsys;
    var targetDir = `目标文件夹路径`;
    fsys.enum(
        targetDir,
        "*.*",
        function(dir, filename) {
            if(fsys.getExtensionName(filename)== "jpg"){
                var newimg = "新的"+filename;
                fsys.rename(dir + filename, dir + newimg);
            }
        }
    );

    特意用混合格式的文件夹测试,代码完美避开.png和.pdf,只处理.jpg文件。这种“精准筛选”的逻辑,让我想起之前学过的条件判断语句,知识串联起来的感觉太棒了!

    批量文件复制新技能
    学过之前的函数基础,今天上手批量复制时顺畅了不少。但真正运行代码的那一刻,还是被它的高效震撼到了。

    复制所有文件
    import fsys;
    var sourceFolder = `源文件夹`;
    var targetFolder = `目标文件夹`;
    fsys.enum(
        sourceFolder,
        "*.*",
        function(dir, filename) {
            var sourcePath = fsys.joinpath(dir, filename);
            var targetPath = fsys.joinpath(targetFolder, filename);
            fsys.copy(sourcePath, targetPath);
        }
    );

    看着控制台飞速滚动“复制成功”的提示,突然意识到:原来重复劳动真的可以被代码替代!以后备份重要文件,再也不用守着进度条干瞪眼了。

    只复制.jpg文件
    import fsys;
    var sourceFolder = `源文件夹`;
    var targetFolder = `目标文件夹`;
    fsys.enum(
        sourceFolder,
        "*.*",
        function(dir, filename) {
            if(fsys.getExtensionName(filename)== "jpg"){
                var sourcePath = fsys.joinpath(dir, filename);
                var targetPath = fsys.joinpath(targetFolder, filename);
                fsys.copy(sourcePath, targetPath);
            }  
        }
    );

    尝试用这个代码整理摄影素材库时,它精准地把几百张.jpg图片“搬运”到新文件夹,零失误的表现让我忍不住给自己点了个赞!

    挑战!改名+复制
    本以为白天的学习已经够充实,老师却抛出一个“组合任务”:把.jpg文件改名成document_序号.jpg,再复制到新文件夹。这简直是检验学习成果的“终极关卡”!

    import fsys;
    var targetDir = `源文件夹`;
    var targetFolder = `目标文件夹`;
    var counter = 0;
    fsys.enum(
        targetDir,
        "*.*",
        function(dir, filename) {
            if(fsys.getExtensionName(filename)== "jpg"){
                counter++;
                var newimg = "document"+ counter +".jpg";
                fsys.rename(dir + filename, dir + newimg);
                var sourcePath = fsys.joinpath(dir, newimg);
                var targetPath = fsys.joinpath(targetFolder, newimg);
                fsys.copy(sourcePath, targetPath);
            }
        }
    );

    调试过程并不顺利:第一次序号没递增,原来是counter++的位置放错了;第二次复制失败,发现是目标路径少写了一个斜杠。反复修改、测试,终于看到目标文件夹里整齐排列的document_1.jpg、document_2.jpg……这种从挫败到成功的反转,比玩游戏通关还过瘾!

    回顾这一天,从单个功能到综合应用,每一次代码跑通都是对过去努力的最好肯定。编程教会我的不仅是技术,更是解决问题的思维方式。明天,还要继续向更复杂的挑战发起进攻!



    非业余 - aardio 编程语言 - 非官方问答社区
    风行者三期培训:Aardio+Python+Flutter,1000集课程让你成为全栈开发高手!https://mp.weixin.qq.com/s/_WOoHFtITUyLk2k7BXYGkg
    Aardio培训大揭秘,轻松上手打造个人项目!https://mp.weixin.qq.com/s/cr47qhp_Cpz0p57lbbPwug
    aardio风行者第二期培训班https://mp.weixin.qq.com/s/uB6XHUDnGSk0JlWuiBE9AA
    aardio风行者第三期培训班https://mp.weixin.qq.com/s/cdZcvFiAWhlYTaSrQGCPvA
    回复

    使用道具 举报

    *滑块验证:
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|非业余 - aardio 编程语言 - 非官方问答社区 知道创宇云防御

    GMT+8, 2025-4-24 15:17 , Processed in 0.151703 second(s), 31 queries .

    Powered by Discuz! X3.5

    © 2001-2025 Discuz! Team.

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