发新话题
打印

D语言批量重命名文件实例

D语言批量重命名文件实例

知识若不分享 实在没有意义 http://www.d-programming-language-china.org 20070502

点击下面网址查看原文:
http://www.d-programming-language-china.org

tag:d language教程,d language入门,D language实例

用D语言重命名文件是非常方便的。 对比了一下,代码量比用脚本语言autoit少了许多。

原来 yidabuTxt 文本格式用的是au3后缀,关于 yidabuTxt 文本格式的了解,可见这里:
http://bbs.d-programming-language-china.org/thread-83-1.html

今天想把全部后缀改成ydb,原来已经有数百篇文章了,全部手工去改文章后缀岂不累死,就用D语言来试试。
先备份所有文档,然后执行下面的代码:

 import std.file;        //for listdir    rename
 import std.path;        //for getExt addExt
 //bbs.d-programming-language-china.org 注: 只导入std.stdio里的writefln,否则有同名函数的冲突
 import std.stdio:writefln;

 void main(char[][] args)
 {
    bool callback(DirEntry* de)
    {
        char[] fromName,toName;
        if (de.isdir)    //如果是目录就迭代
            listdir(de.name, &callback);
        else    //如果是文件,就判断文件后缀
            if (getExt(de.name) == "au3")
            {
                fromName = de.name;
                toName = addExt(de.name,"ydb");
                //重命名文件
                rename(fromName,toName);
                writefln(toName);
            }
        return true;
    }

    auto dir = r"D:\bbs.d-programming-language-china.org\";
    listdir(dir, &callback);
 }

按Ctrl+F7编译,按F5运行,几百篇文章的后缀一下子就改好了。已经修改的文章全部打印在Scite文本编辑器输出区,用静态语言来做小事情和动态语言一样方便,而且代码量可能更少。

( lastupdate:20070502 最新文章请访问http://www.d-programming-language-china.org )

关于一大步成功社区:
yidabu提倡在交流中学习,在分享中提高
收集感兴趣的知识,写下心得,通过网络与别人一起分享
理解一点就实践一步,收获什么就分享什么,成功就是这样一点点一步步累积起来的
网络只是一个工具,只有自己身心提高才是实实在在的。d-programming-language-china.org为大家提供一个学习交流各种知识的平台

TOP

发新话题