xx44t10 发表于 2012-3-5 18:55:03

[已解决]我想把下面这个bat文件的分类结构用AU3来的实现。那位能帮下忙呀~!谢谢~!

本帖最后由 xx44t10 于 2012-3-6 10:34 编辑

@echo off
set num=0
:readtxt
:: 读取文本内容,读取过的用more命令过滤掉
for /f "tokens=1*" %%i in ('more +%num% 天空软件站软件分类.txt') do (
    set /a num+=1
    if "%%i"=="1" (
      call :build_top %%j
    ) else (
      call :build_sub "%%i %%j")
)
goto :eof

:build_top
:: 建立父文件夹
if %num% gtr 1 popd
if exist %1 rd /q /s %1
md %1 && pushd %1
goto :eof

:build_sub
:: 建立子文件夹
for /f "tokens=1*" %%x in (%1) do (
    if "%%x"=="1" (
      call :build_top %%y
      goto readtxt
    ) else (
    if exist %%x rd /q /s %%x
    md %%x
    if not "%%y"=="" call :build_sub "%%y")
)
goto :eof

xx44t10 发表于 2012-3-5 18:55:56

天空软件站软件分类.txt是:            1 网络软件
            主页浏览 浏览辅助 离线浏览 书签工具 拨号计时 邮件检测 邮件处理 主页制作 网页辅助
            网站推广 FTP工具下载工具 网络共享 网络加速 搜索引擎 远程监控 新闻阅读 IP工具
            服务器区 网络监测 网络辅助 文件共享 Telnet类 邮件群发 信息发布

            1 系统工具
            系统增强 系统设置 系统备份 桌面工具 剪贴工具 开关定时 CPU相关内存工具 磁盘工具
            数据备份 卸载清除 升级补丁 系统测试 系统其它

            1 应用软件
            压缩解压 文件管理 文件分割 文件更名 时钟日历 键盘鼠标 电子阅读 汉字输入 文字处理
            字体工具 打印工具 虚拟光驱 转换翻译 信息管理 杂类工具 文件修复 光驱工具 文档管理
            计算器类

            1 联络聊天
            聊天工具 OICQ专区 ICQ专区网络电话 传真工具 电话寻呼 信使工具 MSN专区         

            1 图形图像
            图像制作 动画制作 图像捕捉 图像转换 图片压缩 图像浏览 图标工具 图像管理 3D制作类
            图像其它

            1 多媒体类
            媒体播放 音频处理 视频处理 音频转换 视频转换 桌面制作 媒体管理 光盘刻录 WINAMP区
            媒体制作 媒体其它 网络电视 媒体点播

            1 行业软件
            股票证券 商业贸易 财务管理 彩票工具 行政管理 出版印刷 工程建筑 机械电子 纺织服装
            健康医药 法律法规 餐饮旅游 交通运输 辅助设计 租借管理 农业相关 保险行业 审计评估
            其它行业 客户管理 物流中介

            1 游戏娱乐
            趣味软件 测字算命 游戏工具 模拟器类 棋牌游戏 益智游戏 动作射击 体育竞技 网络游戏
            其它游戏

            1 编程开发
            编程工具 安装制作 补丁制作 网络编程 数据库类 调试工具 编译工具 编程其它 综合控件
            网络控件 媒体控件 DBF控件系统控件 界面控件 图像控件 时间控件 文件控件 压缩控件
            图表控件 其它控件

            1 安全相关
            病毒防治 系统安全 系统监视 网吧管理 网络安全 加密工具 密码恢复 密码管理 浏览安全

            1 教育教学
            教育管理 文科工具 理科工具 外语学习 学前教育 电脑学习 考试系统 天文地理 电子教室

            1 软件资讯
            软件报道 软件教程 设计学院                                                

            1 精彩动画
            动画类   MTV类    专辑类

afan 发表于 2012-3-5 19:33:02

Local $sTxt = FileRead(@ScriptDir & '\天空软件站软件分类.txt')
Local $aSR0 = StringRegExp($sTxt, '(?s)\h+1\h(\S+)\s+(\H.+?\H)\h*(?=\r\n\r\n|$)', 3)
If @error Or Not IsInt(UBound($aSR0) / 2) Then Exit
Local $aSR1, $i, $ii
For $i = 0 To UBound($aSR0) - 1 Step 2
        DirCreate($aSR0[$i])
        $aSR1 = StringRegExp($aSR0[$i + 1], '\H+', 3)
        If @error Then ContinueLoop
        For $ii = 0 To UBound($aSR1) - 1
                DirCreate($aSR0[$i] & '\' & $aSR1[$ii])
        Next
Next

xx44t10 发表于 2012-3-5 19:38:20

十分感谢~!{:face (316):}
页: [1]
查看完整版本: [已解决]我想把下面这个bat文件的分类结构用AU3来的实现。那位能帮下忙呀~!谢谢~!