aardio批处理脚本

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

批量文件重命名大作战

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

给所有文件加前缀

ini 复制代码
import fsys; 
var targetDir = `目标文件夹路径`; 
fsys.enum(
    targetDir,
    "*.*",
    function(dir, filename) {
        var newimg = "新的"+filename; 
        fsys.rename(dir + filename, dir + newimg);
    }
);

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

精准修改.jpg文件

ini 复制代码
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文件。这种"精准筛选"的逻辑,让我想起之前学过的条件判断语句,知识串联起来的感觉太棒了!

批量文件复制新技能

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

复制所有文件

ini 复制代码
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文件

ini 复制代码
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,再复制到新文件夹。这简直是检验学习成果的"终极关卡"!

ini 复制代码
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.jpgdocument_2.jpg......这种从挫败到成功的反转,比玩游戏通关还过瘾!

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

相关推荐
坚果派·白晓明9 小时前
在鸿蒙设备上快速验证由lycium工具快速交叉编译的C/C++三方库
c语言·c++·harmonyos·鸿蒙·编程语言·openharmony·三方库
爱思德学术1 天前
中国计算机学会(CCF)推荐学术会议-B(软件工程/系统软件/程序设计语言):ECOOP 2026
编程·编程语言
superman超哥7 天前
Serde 性能优化的终极武器
开发语言·rust·编程语言·rust serde·serde性能优化·rust开发工具
superman超哥13 天前
Serde 的零成本抽象设计:深入理解 Rust 序列化框架的哲学
开发语言·rust·开发工具·编程语言·rust序列化
superman超哥13 天前
序列化格式的灵活切换:Serde 生态的统一抽象力量
开发语言·rust·编程语言·rust serde·序列化格式·rust序列化格式
superman超哥13 天前
派生宏(Derive Macro)的工作原理:编译时元编程的艺术
开发语言·rust·开发工具·编程语言·rust派生宏·derive macro·rust元编程
superman超哥13 天前
处理复杂数据结构:Serde 在实战中的深度应用
开发语言·rust·开发工具·编程语言·rust serde·rust数据结构
superman超哥13 天前
错误处理与验证:Serde 中的类型安全与数据完整性
开发语言·rust·编程语言·rust编程·rust错误处理与验证·rust serde
superman超哥13 天前
自定义序列化逻辑:掌控数据编码的每一个细节
开发语言·rust·编程语言·rust自定义序列化·rust数据编码
superman超哥13 天前
Serialize 与 Deserialize Trait:Rust 类型系统与序列化的完美融合
开发语言·rust·开发工具·编程语言·rust序列化·rust类型·serialize