【原创软件】第7期:文件夹生成器V1.0-按照列表批量生成文件夹,简单小巧

一、背景

因为工作需要,需要批量创建文件夹。为了省去人工创建时间,使用aardio制作了一个软件。

二、功能演示

三、下载地址

https://www.123pan.com/s/9Rn9-1xppH.html

四、源代码

源代码分享:

复制代码
import win.ui;
import fsys;
import fsys.dlg
import process.popen;
import process;
//import win.dialog;
/*DSG{{*/
mainForm = win.form(text="文件夹生成器V1.0-by公众号@读研札记";right=791;bottom=503)
mainForm.add(
button={cls="button";text="浏览";left=640;top=40;right=744;bottom=72;font=LOGFONT(h=-14);z=3};
button2={cls="button";text="一键批量生成文件夹";left=48;top=424;right=744;bottom=488;color=255;font=LOGFONT(h=-16);z=4};
edit={cls="edit";left=216;top=40;right=632;bottom=72;edge=1;font=LOGFONT(h=-14);multiline=1;z=2};
edit3={cls="edit";left=48;top=112;right=744;bottom=408;edge=1;font=LOGFONT(h=-14);multiline=1;z=5};
static={cls="static";text="根文件夹(目标文件夹):";left=48;top=40;right=224;bottom=72;center=1;font=LOGFONT(h=-14);transparent=1;z=1};
static2={cls="static";text="文件夹名称列表粘贴区域:";left=48;top=88;right=224;bottom=128;font=LOGFONT(h=-14);transparent=1;z=6};
static3={cls="static";text="Static";left=48;top=16;right=176;bottom=40;transparent=1;z=7};
static4={cls="static";text="点击查看我的公众号";left=608;top=8;right=744;bottom=24;color=16711680;font=LOGFONT(weight=700);notify=1;transparent=1;z=8}
)
/*}}*/

import win.cur;
//当鼠标指针移到静态控件上是,切换鼠标为手形
var hand = win.cur.load(32649/*_IDC_HAND*/)
mainForm.static4.wndproc = function(hwnd,message,wParam,lParam){
if(message = 0x200/*_WM_MOUSEMOVE*/) {
win.cur.setCur(hand);
}
}//endproc

mainForm.static4.oncommand = function(id,event){    
    process.execute("http:/mp.weixin.qq.com/s/rht9MkxPV4Dk5iQityjrUQ");   
}

// 浏览文件夹路径的函数
mainForm.button.oncommand = function() {
    var folderPath = fsys.dlg.opendir("请选择根文件夹路径");
    if (folderPath != "") {
        mainForm.edit.text = folderPath;
    }
}

// 生成文件夹的函数
function generateFolders() {
    var rootPath = mainForm.edit.text;
    var folderList = string.split(mainForm.edit3.text, '<\r\n>');

    if (!fsys.isDir(rootPath)) {       
         win.msgbox("根文件夹没有设置或者不存在该文件夹", "提示");
         return 
    }

    var foldercount = table.count(folderList)

    if (foldercount > 0) {  
        for ( i = 1;  foldercount; 1) {
            var folderName = folderList[i];
            var fullPath = rootPath + "\\" + folderName;
            if (!fsys.isDir(fullPath) && folderName != "") {
                fsys.createDir(fullPath, true);
            }
        }
    } else {
        win.msgbox("输入的文件夹名称至少1个", "提示");
        return
    }

    win.msgbox(table.count(folderList) + "个文件夹已经生成完成!", "提示");

   process.explore( rootPath)
       /**
 cmd = /*
                start D:/wwwroot/
        */
        prcs.write(cmd);
**/

}

// 按钮点击事件
mainForm.button2.oncommand = function() {
    generateFolders();
};

// 运行窗口

 //显示时间

tmid = mainForm.addtimer(
  1000/*毫秒*/,
  function(hwnd,msg,id,tick){//定时执行代码
    //显示现在时间
    mainForm.static3.text=time();
    //mainForm.killtimer(id)//移除此定时器
    //mainForm.settimer(id,2000)//重新设定时间间隔
  }
);

mainForm.show();
return win.loopMessage();
相关推荐
卢光庆16 天前
aardio - 汉字笔顺处理 - json转sqlite转png
aardio
云边的快乐猫16 天前
python中的列表、元组、字典的介绍与使用
开发语言·python·列表·元组·字典
大熊猫侯佩17 天前
SwiftUI 列表(或 Form)子项中的 Picker 引起导航无法跳转的原因及解决
list·swiftui·form·列表·navigation·导航·picker
KevinRay_24 天前
【Python入门】Python数据类型
python·面向对象·列表·元组·二维列表
子不语1 个月前
C#程序开发,检测当前电脑已经安装的软件目录
开发语言·c#·安装·列表·软件
白叔King2 个月前
aardio 5分钟多线程开发简单入门
aardio
hnjzsyjyj3 个月前
利用Python输入n个用空格分隔的整数 ← list(map(int,input().split()))
python·list·列表
hnjzsyjyj3 个月前
利用 set()+count() 函数统计字符串中不同字符个数
python·列表
骐骥14 个月前
2024-08-16升级记录:使用Android RecyclerView控件显示列表型信息
android·recyclerview·列表
我叫白小猿5 个月前
【笔记-Python】内置容器-list
python·容器·list·列表·推导