无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 224617|回复: 525
打印 上一主题 下一主题

[发布] 【Fbinst Plus V1.5.1703.13】Fbinst增强版,2017年重大更新

    [复制链接]
跳转到指定楼层
1#
发表于 2011-2-25 17:38:38 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Plantsoot 于 2017-3-13 23:50 编辑

【前言】   
  • 首先向fbinst的作者Bean老师致敬,谢谢他为我们开发了这么好的工具。
  • 说实话,写这个fbinst的增强版我是很矛盾的,因为我的水平远远不能和Bean老师相比,修改他的作品,压力很大,真的……
  • Fbinst Plus版,只是在原fbinst的基础上增加了一些功能,保留了原来的所有功能。增加功能,主要为PE增加一些接口,更方便操作ud内的数据。
  • 水平有限,望大家随时批评指正。
  • 测试版本,征集命令和参数的写法,有好的建议记得交流一下,谢谢。
  • 2011-11-15重大更新:增加对UTF-8格式文件列表的支持,fbinst原始命令未作修改,只修改了Fbinst Plus。
    目前未提供命令行格式化为UTF-8文件列表功能,请使用fbinsttools1.605以上版本制作。
  • 2017年3月,进行重大更新,放弃对ANSI文件列表的支持,改为只支持UTF-8文件列表(包括原版fbinst命令,均做了修改)。
    数据无价,慎重操作,如果有BUG,敬请反馈!

【命令行写法说明】

    原fbinst的命令行写法是: fbinst [OPTIONS] DEVICE_OR_FILE COMMANDS [PARAMETERS]
    fbinst原版的所有选项和命令保持原来的写法不变。
    fbinst plus版新增命令行写法和原版稍有区别:

        1.  fbinst [OPTIONS] [PARAMETERS]
        2.  fbinst DEVICE_OR_FILE  COMMANDS [PARAMETERS]

特别注意1.6.1.4版本对参数的写法做了较大调整,取消了几个参数,取消的参数合并到了其他的参数中。请重新看说明。


【新增功能说明】

   ◆ 新增 OPTIONS
  • --version :版本号,在原版本号的基础上,增加一个plus版本号。
                      fbinst --version                输出fbinstplus版本
  • --udlist :fbinst格式的磁盘列表(ud)。如果有多个ud盘,返回一个整数,比如 31,标示磁盘1、磁盘3是ud盘。(注:DOS下返回值从%errorlevel%获取,下同。)
                      fbinst --udlist                   输出磁盘信息,返回磁盘号。  (输出=在CMD窗口中显示,下同。)
  • --find :查找文件、文件夹所在的磁盘,并返回第一个找到包含该文件的磁盘号。
                      fbinst --find   "PETOOLS/*"   查找的是PETOOLS/“目录”,输出磁盘信息,返回磁盘号。
  • --sysinfo :获取系统环境变量,无有价值的返回值。(准备后期扩展该功能)
                      fbinst --sysinfo      获取系统环境变量值,可以辅助编写批处理
  • --autoloadpetools :自动搜索PETOOLS、创建内存盘、导出PETOOLS到内存盘并在开始菜单创建快捷方式
    严格意义上讲,目前创建的不是快捷方式,只不过起到了快捷方式的作用。
                      fbinst --autoloadpetools      在PE下使用,需要PE内置fbinstPlus外还需内置imdisk。
             
  • --link:创建文件和文件夹快捷方式(传统方式)。
               fbinst --link <快捷方式名> <文件或文件夹名> [运行参数] [图标文件#标号] [描述] [工作目录]
               fbinst --link "D:\桌面\UdHelper" E:\UdHelper.exe "" shell32.dll#14
               <>内的参数不可省略,[]中的参数可以省略,如果中间省略需要用""代替。

          
  • --dlink:在开始菜单创建文件夹快捷方式,特殊方式,可以展开的快捷方式.
                意思就是说创建一个文件夹的快捷方式就不需要为每个软件创建快捷方式了
                fbinst --dlink <快捷方式名> <文件夹名>
                fbinst --dlink P盘的PETOOLS P:\PETOOLS
  • --autoptlink :全盘自动搜索PETOOLS目录,并在开始菜单创建可展开的快捷方式.
                           fbinst --autoptlink
  • --onlylink 或者 --udlink 只在开始菜单创建ud内文件的快捷方式,实现按需加载ud内的软件,可以给快捷方式指定ico
                fbinst --onlylink <ud内的目录(加*通配符)> <按需加载临时目录> [图标文件#标号]
                fbinst --onlylink "PETOOLS/*"  X:\TEMP
                fbinst --onlylink "PETOOLS/DiskTools/分区工具/***350.exe"  X:\TEMP  shell32.dll#8
                fbinst --onlylink "PETOOLS/*" %"TEMP"%   
    这个用法是说,临时目录是系统的临时目录%TEMP%
  • --meminfo :  获取物理内存信息
                fbinst --meminfo       获取物理内存信息
                fbinst --meminfo-t    获取物理内存总大小,返回值DOS下通过读取%errorlevel%来获取,单位M
                fbinst --meminfo-f    获取可用物理内存大小,返回值DOS下通过读取%errorlevel%来获取,单位M
  • --hdlist: 获取磁盘列表功能
                fbinst --hdlist [输出格式] [磁盘类型] [是否是移动磁盘] [--UD]
                fbinst --hdlist          默认格式获取所有磁盘列表
                fbinst --hdlist  ""     默认格式获取所有磁盘列表

                fbinst --hdlist "(hd%N) %T_%R_%I (%P) %Sg %U"      按指定格式输出磁盘列表
                          得到类似结果
    :(hd1) SATA_FIXED_WDC-WD5000AAKX-001CA0 (C: D: E: L: ) 466 G
                                       其中:
    %N      表示磁盘号 (特别注意,命令行下直接输命令是%N,批处理中是%%N,下同)
                                                
    %T      表示磁盘类型,具体类型稍候给出
                                                 %R      表示是否是移动磁盘,是显示为REMOVABLE
    否则显示为固定磁盘FIXED
                                                 
    %I       表示磁盘型号(ID),例如WDC-WD5000AAKX-001CA0
                                                 
    %P      表示包含的分区
                                                 %S      表示磁盘大小,单位G,小于1G的统一显示为0G
                                                 %U      标识磁盘是否为ud盘,是ud盘标识为*号,不是为空。
                          不需要每次都显示所有项目,可以选择需要的项目显示,例如
    fbinst --hdlist "(hd%N): %Sg"
               fbinst --hdlist "(hd%N): %Sg %U"  --USB --FIXED      
    按规定格式输出磁盘类型为USB的固定磁盘
               fbinst --hdlist ""  --USB                                               USB磁盘列表
               fbinst --hdlist "(hd%N): %Sg" --USB --REMOVABLE    U盘列表
               fbinst --hdlist "(hd%N): %Sg" --USB --FIXED              移动硬盘列表
               fbinst --hdlist "(hd%N): %Sg" --SATA                        SATA磁盘列表
               fbinst --hdlist "(hd%N): %Sg" --ALL --FIXED              
    所有硬盘列表(注意磁盘和硬盘的区别)
               fbinst --hdlist "(hd%N): %U" --ALL --ALL --UD           所有ud盘列表
               fbinst --hdlist "(hd%N): %U" --ALL --REMOVABLEL --UD    所有UD格式的U盘列表



    如果用到 [磁盘类型] 参数,那么前面的 [输出格式]不可以省略,但可以为""
    如果用到[是否是移动磁盘],那么前面的两个参数都不可以省略,[输出格式]可以为"",磁盘类型可以为--ALL

    磁盘类型:(相应的参数为 --类型)
                     
    "Unknown","SCSI","Atapi","Ata","1394","Ssa","Fibre","USB","RAID","iSCSI",
                     "SAS","SATA","SD","MMC","Virtual","FileBackedVirtual","Max","MaxReserved"
  • --usbdisable、usbenable、usbrestart: USB磁盘禁用、启用、重启
    fbinst --usbdisable   
    USB磁盘禁用
    fbinst --usbenable      USB磁盘启用
    fbinst --usbrestart     USB磁盘重启
  • 未完,继续增加中……
  ◆  新增的 COMMANDS
  • filelist :文件列表,这个不同于info,这个可以根据参数,输出指定目录的文件列表和文件名中包含某个字符串的文件列表,并返回列表中所有文件占用的空间大小(KB)。
                      fbinst  (hd1)  filelist              (hd1)的文件列表,输出文件列表,返回文件总大小(KB)。
                      
    fbinst  (hd2)  filelist  "OPE/*"    (hd2)的“0PE”目录的文件列表,输出文件列表,返回文件总大小(KB)。
  • filesize : 查找文件、文件夹,找到后返回符合条件的文件的总大小(KB)。
                      fbinst  (ud)    filesize   "PETOOLS/*"    查找PETOOLS“目录”,返回查找到的文件总大小,单位KB。(只搜索一个符合条件的磁盘。)

  • output :从指定磁盘或fba批量导出文件,output 不同于export,它支持通配符和自动搜索功能。本命令需要指定磁盘或fba,可以借助--find命令来确定磁盘。
                   如果,指定的磁盘为(ud),它将在所有ud盘中搜索,直到找到第一个符合条件的磁盘,然后从该磁盘中导出文件。通配符的写法需要用""包含关键字。
                      fbinst  (hd1)  output  "*/IMGS/*.IM?"   P:/    导出(hd1)的符合"*/IMGS/*.IM?"的所有文件到P盘根目录,省略P:/就导出到当前目录
                      fbinst  (ud)    output  "*/IMGS/*.IM?"   P:/    搜索符合条件的ud盘,导出符合"*/IMGS/*.IM?"的所有文件到P盘根目录
                      fbinst  (hd1)  output  "*"  P:/                         导出(hd1)的所有文件到P盘根目录,"*"不可以省略,省略P:/就导出到当前目录

    特殊用法:在表示输出文件路径的参数后面加上"%~nx
    "(不含引号),表示导出的文件不保留原文件路径。
                      fbinst  (ud)    output 0PE/0PE.GZ D:/             导出的文件路径是"D:/0PE/0PE.GZ"
                      fbinst  (ud)    output 0PE/0PE.GZ D:/%~nx   
    导出的文件路径是"D:/0PE.GZ",批处理中%~nx要改为%%~nx

  • inisize : 获取ini文件指定小节中的文件列表的文件总大小,支持通配符,通配符不可以加""号。磁盘可以指定具体hd*,也可以用(ud)让其自动搜索。
                 ini文件可以内置ud也可以外置。如果是相对路径优先搜索当前目录,然后搜索ud。
                      fbinst  (hd1)  inisize test.ini [0PE]            加载ini文件,获取[0PE]小节下文件列表,返回文件总大小,单位KB
                      fbinst  (ud)    inisize 0PE/UdToMem.ini [PETOOLS]
                      fbinst  (ud)    inisize E:/WEB/UdToMem.ini [0PE]
                      fbinst  (ud)    inisize E:\WEB\UdToMem.ini [0PE]
      

  • iniout : 加载ini文件,获取[0PE]小节下文件列表,并搜索该文件,找到后导出到P:/盘,支持通配符,通配符不可以加""号。ini文件搜索顺序为“先找硬盘,再找ud,如果没找到就终止操作”。路径的写法比较灵活,/和\都可以使用。
                      fbinst  (hd1)  iniout test.ini [0PE]  P:/     加载ini文件,获取[0PE]小节下文件列表,并搜索该文件,找到后导出到P:/盘。
                      
    fbinst  (ud)    iniout E:/WEB/UdToMem.ini [0PE]    P:/
                      fbinst  (ud)    iniout E:\WEB\UdToMem.ini [STANDARD]
        P:/
                      fbinst  (ud)    iniout 0PE/UdToMem.ini [MINI]        P:/
       

    特殊用法:在表示输出文件路径的参数后面加上"%~nx
    "(不含引号),表示导出的文件不保留原文件路径。
                      
    fbinst  (ud)    iniout UdToMem.ini [0PE]    P:/              导出的文件路径是"P:/"+"文件的原始路径"
                      fbinst  (ud)    iniout UdToMem.ini [0PE]    P:/%~nx   
    导出的文件路径是"P:/"+"文件名",批处理中%~nx要改为%%~nx
  • fba_mark_utf8: 把没有utf-8标记的fba添加上utf-8标记,以兼容旧版fbinsttool,但本身无转换文件列表功能。新版fbinsttool和fbinst plus不再支持ANSI文件列表。
                      fbplus "D:\TEST2017\TEST\test.fba"  fba_mark_utf8   


    ini文件按下面格式定义(支持通配符):

    借用 pseudo 兄的 UdToMem.ini 来说明一下,并感谢。

    1. [comment]
    2. 取UD工具时所取文件、目录列表,可根据内存大小DIY。
    3. 此为支持pe作pxe网启服务器端的列表

    4. [SERVER]
    5. 0PE.BIN
    6. grldr
    7. 0PE/*
    8. SRS/*
    9. SRS1/*
    10. SRS2/*
    11. BOOT/GRUB/MENU.0PE
    12. BOOT/GRUB/MENU.DIY
    13. BOOT/GRUB/GRUB.0PE
    14. BOOT/GRUB/RUN
    15. BOOT/GRUB/MENU.LST
    16. BOOT/GRUB/MESSAGE
    17. BOOT/GRUB/USB_ACC.0PE
    18. BOOT/GRUB/USB_ACC.DOS
    19. BOOT/IMGS/NTBOOT.GZ
    20. BOOT/IMGS/KONBOOT.GZ
    21. BOOT/IMGS/MAXDOS.IMG
    22. BOOT/IMGS/DG.IMG
    23. BOOT/IMGS/MEMTEST.GZ
    24. BOOT/IMGS/dir.txt
    25. PETOOLS/*

    26. [CLIENT]
    27. PETOOLS/*
    28. 0PE/PETOOLS/*

    29. [MINI]
    30. petools/DiskTools/FbinstTool.exe
    31. petools/AutoRuns/DIY.bat
    32. petools/AutoRuns/DIY.ini
    33. petools/AutoRuns/DIY.WIM
    34. petools/AutoRuns/Net_Snd_VGA.cmd
    35. petools/AutoRuns/PEToolLNG.cmd
    36. petools/DiskTools/备份还原/GHOST32.EXE
    37. petools/DiskTools/分区工具/****.*
    38. petools/DiskTools/BOOTICE*.EXE
    39. petools/DiskTools/备份还原/GGhost硬盘安装器*.exe
    40. petools/SysTools/desktop.ini
    41. petools/SysTools/MMC_CHS.WIM
    42. petools/SysTools/MMC_ENG.WIM
    43. petools/SysTools/关小数字键盘NumLK-off.cmd
    44. petools/FileTools/desktop.ini
    45. petools/FileTools/WinRar.WIM
    46. petools/FileTools/拼音加加.WIM
    47. petools/DiskTools/desktop.ini
    48. petools/DiskTools/SRS_Injection驱动注入.cmd
    49. petools/DiskTools/硬件ID提取工具HWIDs.cmd
    50. petools/DiskTools/备份还原/GHOSTEXP.EXE
    51. petools/Drivers/desktop.ini
    52. petools/Drivers/VBE.7z
    53. petools/Drivers/万能显卡VBE.CMD
    54. petools/Drivers/禁自动加VBE.CMD
    55. petools/Drivers/DRIVERS_NET*.CAB
    56. petools/NetTools/desktop.ini
    57. petools/NetTools/IE6.WIM
    58. PETOOLS/SysTools/VMware拖放剪贴板支持.exe

    59. [TINY]
    60. petools/DiskTools/FbinstTool.exe
    61. petools/DiskTools/备份还原/GHOST32.EXE
    62. petools/DiskTools/备份还原/GHOSTEXP.EXE
    63. petools/DiskTools/BOOTICE*.EXE
    64. petools/SysTools/MMC_CHS.WIM
    65. petools/FileTools/WinRar.WIM
    66. petools/FileTools/拼音加加.WIM
    复制代码
  • 未完,继续增加中……





【功能演示截图见2楼】

【更新日志】
◆ 2017.3.13 version 1.5.1703.13
    ◎ 增加对fba文件utf-8文件列表标记的功能 fbinst "*.fba" fba_mark_utf8
        
◆ 2017.3.9 version 1.5.1703.9
    ◎ 修复output从fba文件导出文件报错的BUG。
    ◎ info、filelist、add、remove、export、load、save、resize、copy、move、cat、cat-menu、output、inisize、iniout、onlylink均已测试过


◆ 2017.3.7 version 1.5.1703.7
    ◎ 修改fbinst原版基本修改为UTF-8编码
    ◎ 导致fbinst plus部分功能出错,修复错误

◆ 2017.3.5 version 1.5.1703.5
    ◎ 修改fbinst原版文件列表为UTF-8编码,info、add、remove、export均支持UTF-8编码
    ◎ 原版版本号改为1.6.4
    ◎ 因原版fbinst文件列表修改为UTF-8编码,导致fbinst plus部分功能出错,修复错误
    ◎ fbinst plus 对外发布时,文件名改为fbplus.exe,用以区分原版fbinst

◆ 2017.3.3 version 1.4.1703.5
    ◎ 修改fbinst原版MBR,格式化时带上UTF-8标记(新版fbinst plus和fbinsttool不理会此标记,只为了兼容旧版)
    ◎ 原版版本号改为1.6.3

◆ 2015.10.11 version 1.3.1510.11
    ◎ 修复onlylink在WIN8.1PE X64中无法使用的bug
    ◎ 文件列表只支持UTF-8


◆ 2012.6.18 version 1.2.1206.18
    ◎ 修复onlylink在03PE中无法使用的bug

◆ 2012.6.4 version 1.2.1206.4
    ◎ 修复onlylink在XPPE和03PE中无法使用的bug,是本人一个疏忽,犯了个低级错误,道歉……
    ◎ 调整部分代码。

◆ 2012.5.25 version 1.2.1205.25
    ◎ 恢复onlylink启动软件的时候清空临时目录的操作
    ◎ 接受稀饭放姜的建议,onlylink和autoptlink判断开始菜单采用读取注册表的方式,同时可以修正WIN7PE不兼容的问题。
    ◎ 如果是WIN7PE,创建快捷方式的位置改为开始菜单的程序菜单下。

◆ 2012.4.27 version 1.2.1204.27
    ◎ 更改软件版本规则,改为 主版本号.副版本号.年月.日
    ◎ 按需加载--onlylink改为--udlink,原参数和新参数共存。

    ◎暂时去掉onlylink启动软件的时候清空临时目录的操作

◆ 2012.4.18 version 1.2.0
    ◎ 修正在无ole32.dll的环境下运行报错的问题(例如在0pe的CMDPE中)   
    ◎ 增加USB磁盘禁用、启用、重启的功能,相应命令见说明。
   
◆ 2012.4.17 version 1.1.4.1
     ◎ 修正onlylink(udload)中路径中\误写成/的问题
     ◎ onlylink增加ico图标参数,同link。
     ◎ 修改优化udload部分代码
     ◎ 改进通配符函数,增加中间变量,不再把文件名全部转成大写
     ◎ 导出文件,目标路径参数带%~的情况,批处理中要用两个%号。


◆ 2012.2.1 version 1.1.3
     ◎ 修正fbinst删除文件后造成碎片,再导入文件,空间判断不准的bug

◆ 2011.11.18 version 1.1.2
     ◎ 磁盘列表功能--hdlist,为ud盘加一个*号标志,用%U来控制,并加一个参数--UD来获取UD磁盘列表。

◆ 2011.11.17 version 1.1.1
    ◎ 增加获取磁盘列表功能,参数 --hdlist
    ◎ 修正pseudo提出的按需加载无法运行WIM文件的bug。


◆ 2011.11.15 version 1.1
    ◎ 增加对UTF-8格式文件列表的支持,fbinst原始命令未作修改,只修改了Fbinst Plus。
        
目前未提供命令行格式化为UTF-8文件列表功能,请使用fbinsttools1.605以上版本制作。
    ◎ 增加获取物理内存信息的功能


◆ 2011.05.03 version 1.0
    ◎ 修正--onlylink的bug,并按pseudo的意见修改--onlylink的参数写法,取消fbinst路径的参数。
    ◎ CMDPE下无法运行的问题尚未修正。


◆ 2011.05.02 version 1.0(发现bug,待修正)
    ◎ 增加--onlylink:在开始菜单创建ud内文件的快捷方式,实现按需加载ud内的软件。


◆ 2011.05.01 version 0.9
    ◎ 增加--link:创建文件和文件夹快捷方式;
    ◎ 增加--dlink:在开始菜单创建文件夹快捷方式,特殊方式,可以展开的快捷方式;
    ◎ 增加--autoptlink:全盘自动搜索PETOOLS目录,并在开始菜单创建可展开的快捷方式;
    ◎ 修正部分小bug。


◆ 2011.04.24 version 0.8
    ◎ 修改版本号的显示方式,fbinst的版本和plus的版本分为两行显示。
    ◎ 修改output参数和iniout参数的写法,如果在表示输出文件路径的参数后面加上"%~nx"(不含引号),表示导出的文件不保留原文件路径。如果不加"%~nx",功能和以往版本一样。

◆ 2011.03.16 version 0.1 - 0.7
     略……

[ 本帖最后由 zds1210 于 2012-11-19 08:42 编辑 ]

FbinstPlus_1.2.1206.18.rar

38.2 KB, 下载次数: 14069, 下载积分: 无忧币 -2

fbinstPlus综合应用-PE下搜索加载PETOOLS(2011-3-7).rar

29.06 KB, 下载次数: 3794, 下载积分: 无忧币 -2

请先在虚拟机测试,数据无价,小心操作。

fbinstPlus举例PE下自动加载PETOOLS(2011-3-7不借助PECMD).rar

29.45 KB, 下载次数: 3045, 下载积分: 无忧币 -2

本版本采用特殊方式,不需要PECMD的支持(巴基斯坦网友的要求)

自动加载UD内PETOOLS_20110512.rar

757 Bytes, 下载次数: 2356, 下载积分: 无忧币 -2

需要fbinst plus 1.0以上版本

fbinst_12-2-1Beta.rar

24.96 KB, 下载次数: 1392, 下载积分: 无忧币 -2

fbinst原版,打了不点、chenall的补丁,也打了碎片整理BUG的补丁。本来没打算发布这个,但看到有 ...

fbplus1.5.1703.13.zip

45.57 KB, 下载次数: 1403, 下载积分: 无忧币 -2

重大改版

点评

辛苦了  发表于 2024-5-6 12:18

评分

参与人数 11无忧币 +48 收起 理由
yyz2191958 + 2 赞一个!
445112826 + 5 赞一个!
junyu + 1 很给力!
一轮明月 + 3
jsgh1983 + 5 支持更新!
hero8000 + 5 赞一个!
转世燕 + 2 赞一个!
zds1210 + 5 很给力!
糊涂 + 5 很给力!
nytc006 + 5 很给力!
wan06 + 10 原创内容

查看全部评分

2#
 楼主| 发表于 2011-2-25 17:40:03 | 显示全部楼层
本帖最后由 Plantsoot 于 2017-3-13 23:49 编辑

  • 版本号

  • ud盘列表



  • 搜索文件,找到文件后返回文件所在的磁盘号(如果找到多个,只返回一个)。





  • 文件列表,输出指定目录的文件列表和文件名中包含某个字符串的文件列表,并返回列表中所有文件占用的空间大小(KB)。



  • 批量导出文件,可以导出指定目录或文件名带有某关键字的文件。







  • 加载ini文件,获取指定小节下的文件列表,获取文件总大小或导出文件





  • --autoptlink :全盘自动搜索PETOOLS目录,并在开始菜单创建可展开的快捷方式.



  • --onlylink:在开始菜单创建ud内文件的快捷方式,实现按需加载ud内的软件




  • 磁盘列表--hdlist 演示:
    1. fbinst.exe --hdlist
    2. fbinst.exe --hdlist "" --USB
    3. fbinst.exe --hdlist "(hd%%N) %%I (%%P) %%SG %%U" --SATA --FIXED
    4. fbinst.exe --hdlist "(hd%%N) %%I (%%P) %%SG %%U" --ALL  --ALL --UD
    复制代码

  • 为fba添加UTF-8标记



  • 综合应用:Fbinst Plus 在PE下的应用举例 - 搜索、加载PETOOLS,并创建快捷方式。

    最新的用法是:fbinst --autoloadpetools

    比较简单的批处理方法:

    @echo
    off
    setlocal ENABLEDELAYEDEXPANSION
    fbinst (ud) filesize "PETOOLS/*"
    set /a size=%errorlevel%*105/100
    for %%i in (Z W V U T R Q P) do if not exist %%i:\nul (
         set udtooldrv=%%i:
    )
    fbinst --udlist
    if not %errorlevel%==-1 imdisk -a -s %size%K -m %udtooldrv% -p   "/FS:FAT /Y /Q"
    fbinst (ud) output "PETOOLS/*" %udtooldrv%/
    fbinst --autoptlink



    下面的用法是老的用法,多一种选择吧。

    感谢
    haiou327 (YY写写)  给很多建议,还帮我改进了批处理菜单。


    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

    :: Fbinst Plus 在PE下的应用举例 - 自动加载PETOOLS
    :: An example of how to use FbinstPlus on PE - Autoload PETOOLS
    :: 自动搜索ud盘的PETOOLS文件夹
    :: 根据PETOOLS文件夹大小自动创建内存盘(实验证明要内存盘的大小要大于文件总大小)
    :: 导出ud内的PETOOLS文件夹,保存到内存盘中
    :: 在“「开始」菜单”中创建程序的快捷方式
    :: 注意,本脚本未考虑内存不足的情况
    :: PE需要内置fbinst plus版本、imdisk的支持
    :: It needs fbinst plus and imdisk.
    :: By haiou327
    Plantsoot@bbs.wuyou.net  2011-3-7
    ::----- find & export &  create shortcuts for PETOOLS --------------
    @echo
    off
    setlocal ENABLEDELAYEDEXPANSION
    fbinst (ud) filesize "PETOOLS/*
    "
    set /a size=%errorlevel%*
    105/100
    for %%i in (Z W V U T R Q P) do if not exist %%i:\
    nul (
        set
    udtooldrv=
    %%i:
    )
    fbinst --udlist
    if not %errorlevel%==-1 imdisk -a -s %size%K -m %udtooldrv%
    -p   "/FS:FAT /Y /Q"
    fbinst (ud) output "PETOOLS/*" %udtooldrv%/
    :: --------- 中文PE ----------------
    set startmenu=%USERPROFILE%
    \「开始」菜单\
    if exist "%startmenu%"
    (
    echo
    正在搜索根目录包含PETOOLS文件夹的盘符
    for %%a in (A B C D E F G H I G K L M N O P Q R S T U V W X Y Z)
    DO (
    dir
    /a %%a:\PETOOLS >nul 2>
    nul&&(
    echo
    正在创建 %%a:\PETOOLS 的快捷方式,请稍候……
    for /f "delims=" %%b in ('dir %%a:\PETOOLS /a-d /b /s')
    do (
    mkdir
    "%startmenu%
    %%~pb"
    if
    /i "%%~xb"==".exe" (
    echo [InternetShortcut] >"%startmenu%
    %%~pb\%%~nxb.url"
    echo URL=
    "%%b">>"%startmenu%%%~pb\%%~nxb.url"
    echo IconIndex=0 >>"%startmenu%
    %%~pb\%%~nxb.url"
    echo IconFile=
    %%b>>"%startmenu%%%~pb\%%~nxb.url"
    ) else (
          
    if
    /i "%%~xb"==".txt" (
          
    echo [InternetShortcut] >"%startmenu%
    %%~pb\%%~nxb.url"
          
    echo URL=
    "%%b">>"%startmenu%%%~pb\%%~nxb.url"
          
    echo IconIndex=70 >>"%startmenu%
    %%~pb\%%~nxb.url"
          
    echo IconFile=shell32.dll>>"%startmenu%
    %%~pb\%%~nxb.url"
           ) else (
                   
    if
    /i "%%~xb"==".cmd" (
                     
    echo [InternetShortcut] >"%startmenu%
    %%~pb\%%~nxb.url"
                     
    echo URL=
    "%%b">>"%startmenu%%%~pb\%%~nxb.url"
                     
    echo IconIndex=71 >>"%startmenu%
    %%~pb\%%~nxb.url"
                     
    echo IconFile=shell32.dll>>"%startmenu%
    %%~pb\%%~nxb.url"
                    ) else (
                           
    if
    /i "%%~xb"==".bat" (
                           
    echo [InternetShortcut] >"%startmenu%
    %%~pb\%%~nxb.url"
                           
    echo URL=
    "%%b">>"%startmenu%%%~pb\%%~nxb.url"
                           
    echo IconIndex=71 >>"%startmenu%
    %%~pb\%%~nxb.url"
                           
    echo IconFile=shell32.dll>>"%startmenu%
    %%~pb\%%~nxb.url"
                           ) else (
                                  
    echo [InternetShortcut] >"%startmenu%
    %%~pb\%%~nxb.url"
                                  
    echo URL=
    "%%b">>"%startmenu%%%~pb\%%~nxb.url"
                                  
    echo IconIndex=0 >>"%startmenu%
    %%~pb\%%~nxb.url"
                                  
    echo IconFile=
    %%b>>"%startmenu%%%~pb\%%~nxb.url"
                                    )
                                )
                             )
                          )
                      )
                  )
              )
          )

    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::










    fbinstPlus综合应用-PE下搜索加载PETOOLS.rar (926 Bytes)
    请先在虚拟机测试,数据无价,小心操作。

回复

使用道具 举报

3#
 楼主| 发表于 2011-2-25 20:53:40 | 显示全部楼层
真不好意思,帖子写到一半有急事出门了,现在还在外面。十点左右上传文件。导出文件夹和批量导出符合条件的功能图片未上传。
回复

使用道具 举报

4#
 楼主| 发表于 2011-2-26 01:26:57 | 显示全部楼层
原帖由 USB3 于 2011-2-25 20:32 发表
有没加入修改格式化后UD的MBR前两个字节?


这个没修改,这个还得等Bean老师来修改。
回复

使用道具 举报

5#
 楼主| 发表于 2011-2-26 01:29:19 | 显示全部楼层
原帖由 hnwcw1986 于 2011-2-26 00:39 发表
支持一下。但是不会用

原帖由 chiannet 于 2011-2-25 18:52 发表
那是相当的期待。第一个支持老大。到时候一定要试用。期待能得到什么启示。


看下2楼的图片,尤其是那个综合应用的演示,看下有什么意见和建议。
我逐步简化批处理的写法吧,让fbinst Plus 自动完成一些操作。
回复

使用道具 举报

6#
 楼主| 发表于 2011-2-26 18:25:11 | 显示全部楼层

回复 #23 zxyy 的帖子

关于加载的问题有三种方式:

1、创建内存盘,把PETOOLS文件全部导出到该内存盘,并创建快捷方式。
2、利用现有内存盘,作为临时中转,只创建快捷方式不加载文件,用的时候导出到一个内存盘中再加载。
3、读取到内存中加载(难度很大,需要注入,不是所有的exe都可以运行),放弃这个方案。

读取ini的功能会加上,今天遇到几个难题,我还没找到合适的方法,哎,c++builder可以编译成功的代码MINGW总报错。
回复

使用道具 举报

7#
 楼主| 发表于 2011-2-26 18:38:03 | 显示全部楼层

回复 #21 maanu 的帖子

1. can this work on both win7 PE and PE 1.X ?

    I have not tested whether it can work in WIN7PE。

2.
   
    大概看明白这个问题了,我先用中文说下,您是不是说这个批处理在什么阶段加载?
    我觉得应该是进入桌面的时候加载或者进入桌面后加载吧,应该没什么特殊的。

3. i hope you remember it , as you know PECMD does not work good with english PE versions . thats why i am asking.

    I still can not create a shortcut using fbinst plus.
    But I can write a software used to create shortcuts,I hope you can test it.

    I'm very sorry, I did not answer your question in time.

:)I think I can do it without PECMD, please wait for my test。

[ 本帖最后由 Plantsoot 于 2011-2-26 21:24 编辑 ]
回复

使用道具 举报

8#
 楼主| 发表于 2011-2-27 03:25:44 | 显示全部楼层
原帖由 maanu 于 2011-2-27 02:43 发表
ok no problem , i am waiting for your test...


It can work without PECMD on English`s PE.
please test!

Condition 1 : fbinst plus 1.6.1.2 or the latest version
Condition 2 : imdisk
Method 1: autopetools.bat
Method 2: fbinst --autoloadpetools

要求:
   1、PE的系统目录中内置fbinst plus的1.6.1.2以上版本
   2、PE内置imdisk
方法:
   1、利用autopetools.bat批处理
   2、直接利用fbinst,“fbinst --autoloadpetools”
测试阶段,未完善,如有bug请反馈。
回复

使用道具 举报

9#
 楼主| 发表于 2011-2-27 11:42:09 | 显示全部楼层
原帖由 zxyy 于 2011-2-27 09:50 发表
看来啊,大家期待的是,百大老师最终的目标是要将UD的扩展分区变成一个在PE下可见的只读分区了,这也许是大家的希望,本来程序就在U盘上放着,没必要再加载、导出到虚拟的内存盘中去占用有限的内存空间吧。只是 ...


这是一件很矛盾的事情,本来ud区不可见也正是他的优势之一,如果真的变成一个可以任意访问的分区了,那也意味着不安全了。
下一个功能加上按需加载的功能。先创建快捷方式,用哪个就加载哪个,毕竟PE大多是用来维护用的。
回复

使用道具 举报

10#
 楼主| 发表于 2011-3-1 12:37:23 | 显示全部楼层

回复 #44 zxw 的帖子

好像C语言的main只能返回整数,我也郁闷呢,要是可以返回字符串多好啊。
或者我没找到方法,如果能返回字符串的话记得告诉我,我指的的是return,不是 printf。
回复

使用道具 举报

11#
 楼主| 发表于 2011-3-1 21:57:38 | 显示全部楼层

回复 #46 不点 的帖子

谢谢不点,C语言的指针和指针的指针我一直很头疼,到现在也没很好的理解和把握,看来得下下功夫才行。
回复

使用道具 举报

12#
 楼主| 发表于 2011-3-2 02:18:48 | 显示全部楼层
把功能的说明整理了下,希望能提点意见和建议。

!!现征集通过ini文件导出文件的方案,如何定义ini的格式比较合理?
回复

使用道具 举报

13#
 楼主| 发表于 2011-3-2 08:46:57 | 显示全部楼层

回复 #49 maanu 的帖子

Fbinst Plus V1.6.1.3:

You can use the following method .

fbinst --findout maanu.vmdk  B:/

It will find maanu.vmdk ,and out (export) maanu.vmdk to "B:/".

--findout :查找文件、文件夹,找到后导出。
                  fbinst --findout   PETOOLS/   P:/   查找PETOOLS/“目录”,并导出到P盘根目录,省略导出的位置默认fbinst的目录。

  output :批量导出文件,output 不同于export,它可以导出指定目录或文件名带有某关键字的文件。本命令需要指定磁盘或fba,可以借助--find命令来确定磁盘。
                  fbinst  (hd1)  output OPE/   P:/    导出(hd1)的“0PE”目录中所有文件到P盘根目录,省略P:/就导出到当前目录
                  fbinst  (hd1)  output “”   P:/         导出(hd1)的所有文件到P盘根目录,“”不可以省略,省略P:/就导出到当前目录


output  need to specify the DEVICE_OR_FILE , like fbinst  (hd1).
--findout not allowed to specify the DEVICE_OR_FILE ,it will find the DEVICE,like " fbinst --findout maanu.vmdk  B:/ "



[ 本帖最后由 Plantsoot 于 2011-3-2 08:52 编辑 ]
回复

使用道具 举报

14#
 楼主| 发表于 2011-3-3 02:16:12 | 显示全部楼层

回复 #51 maanu 的帖子

Writing rules for some parameters have changed in the Fbinst Plus version 1.6.1.4.
Please pay attention to the new wording,I will upload it as soon as possible。

[ 本帖最后由 Plantsoot 于 2011-3-3 02:19 编辑 ]
回复

使用道具 举报

15#
 楼主| 发表于 2011-3-3 08:41:04 | 显示全部楼层
Fbinst Plus version 1.6.1.3 有一个BUG,大家要注意,如果文件不存在会报一个内存错误。
1.6.1.4版本已经修正了这个问题。

因为1.6.1.4版本对参数的写法做了调整,取消了几个参数,取消的参数合并到了其他的参数中。
待完整测试后再上传。
回复

使用道具 举报

16#
 楼主| 发表于 2011-3-3 08:47:22 | 显示全部楼层

回复 #54 xiaowuo 的帖子

我现在就是在尽力简化命令的写法,争取完成一个复杂的操作控制在两行代码内,比如现在进入PE后,创建内磁盘、提取ud工具已经简化为一行代码了 fbinst --autoloadpetools 。

Plus功能都是命令行模式,是在fbinst的基础上加强,原有的功能全部保留。这个完善了,GUI就变得更简单。
回复

使用道具 举报

17#
 楼主| 发表于 2011-3-3 12:51:03 | 显示全部楼层

回复 #57 dengxiong 的帖子

恩,1.6.1.4版已经合并部分参数的写法,尽量和原版保持一致。

通配符功能已经完成,因为上午有事,未做全面测试,今天下午完成测试后上传。
ini文件的功能很快就加上了。

通配符:



[ 本帖最后由 Plantsoot 于 2011-3-3 13:00 编辑 ]
回复

使用道具 举报

18#
 楼主| 发表于 2011-3-6 11:53:35 | 显示全部楼层
原帖由 xiaowuo 于 2011-3-6 10:01 发表
反馈一下,Plus版在我的电脑无法正常显示图标及双击无法运行,官方版均正常

我的电脑安装的是卡巴2011,可能对该文件有所限制,楼主能否在不降低我电脑的安全情况下,改进下Plus版,呵呵,很想试用下新功能


“官方版均正常”你是说的fbinst还是fbinsttool,二者不同的。
fbinst、fbinstPlus 是控制台程序(命令行程序)。
fbinsttool是GUI图形界面程序。
回复

使用道具 举报

19#
 楼主| 发表于 2011-3-6 11:55:11 | 显示全部楼层

回复 #63 haiou327 的帖子

恩,已经修改,可能还是要做重大调整,用参数控制是否需要借助PECMD,还有创建内存盘的问题,这个我想应该要找出一个合理的方案,到时候要多提意见,我可能要4天不可以上网和用电脑了,暂别。
回复

使用道具 举报

20#
 楼主| 发表于 2011-3-6 21:57:08 | 显示全部楼层
谢谢各位的支持和帮助,我四天后才可以上网,这几天希望大家帮我想下该如何完善,一个人的思路毕竟有限。谢谢各位,四天后我来收礼。
回复

使用道具 举报

21#
 楼主| 发表于 2011-3-6 21:58:40 | 显示全部楼层

标题

谢谢各位的支持和帮助,我四天后才可以上网,这几天希望大家帮我想下该如何完善,一个人的思路毕竟有限。谢谢各位,四天后我来收礼。
回复

使用道具 举报

22#
 楼主| 发表于 2011-3-8 13:46:58 | 显示全部楼层
原帖由 快雪时晴 于 2011-3-6 19:47 发表
建议在发行压缩包里包含版本更新说明和使用教程!

恩,目前的版本参数的写法还没固定。等基本确定了会加上的。
回复

使用道具 举报

23#
 楼主| 发表于 2011-3-8 13:51:05 | 显示全部楼层
原帖由 haiou327 于 2011-3-8 00:00 发表
CMD创建快捷方式如下

=========================================================================

:: Fbinst Plus 在PE下的应用举例 - 自动加载PETOOLS
:: An example of how to use FbinstPlus on PE ...

恩,多谢了。比我写的好多了。后天有电脑了再继续。
对了,加载ini的参数写法还要修改,[]这个还是加上比较好,不知道有没什么好建议,还要p大说的类似正则表达式功能,有什么好建议?
回复

使用道具 举报

24#
 楼主| 发表于 2011-3-8 13:52:55 | 显示全部楼层
原帖由 ndyzx 于 2011-3-8 02:30 发表
这么好的货不识,回贴的这么少。把它慢慢消化。谢谢。

谢谢捧场,期待反馈和建议。是不是发在PE区关注的人会多点?
回复

使用道具 举报

25#
 楼主| 发表于 2011-3-8 16:24:44 | 显示全部楼层
原帖由 zxyy 于 2011-3-8 14:26 发表
耐心的等待老大的ini功能,能够直接按 ini 配置提取UD内的文件,

ini功能已经有了。我是说参数的写法是否要修改。

fbinst (ud) iniout test.ini petools P:/

ini定义格式

[PETOOLS]
PETOOLS/*
UDTOOLS/*

[Drivers]
PETOOLS/Drivers/*.CAB
回复

使用道具 举报

26#
 楼主| 发表于 2011-3-12 14:07:21 | 显示全部楼层

回复 #95 zxyy 的帖子

看过我的udhelper吗?看了你就明白了。
回复

使用道具 举报

27#
 楼主| 发表于 2011-3-12 16:02:09 | 显示全部楼层
原帖由 zxyy 于 2011-3-12 14:16 发表
  并没有像以前老大做的UD助手那样将UD内的软件全部提取到内存


老兄可能没认真的看udhelper的功能,可以说基本上你并不了解ud助手。

可以这么说,udhelper是第一款按需加载ud内工具的软件,不多做解释了。
回复

使用道具 举报

28#
 楼主| 发表于 2011-3-16 13:38:05 | 显示全部楼层
今天修复一个inisize和iniout耗内存的大bug。

[2011-3-16 13:30]
1、版本号更新为 1.6.1.7
2、修正pseudo发现的耗费内存的重大bug,现在耗内存最大3M左右(获取10G文件大小耗内存3M)
回复

使用道具 举报

29#
 楼主| 发表于 2011-3-16 17:38:31 | 显示全部楼层
原帖由 zxyy 于 2011-3-16 17:06 发表
几天来忙,老大又更新了,赶紧收一个明天有时间测试一下,辛苦了。


请重新下载,今天下午又修复一个bug。
回复

使用道具 举报

30#
 楼主| 发表于 2011-3-20 14:11:10 | 显示全部楼层

回复 #111 zxyy 的帖子

参与FbinstPlus讨论的朋友非常少。
这个问题提出的非常好,十分感谢。
我当时也考虑过这个问题,只是一时也决定不了才有什么方案,就先按保留原文件层次结构设计了。
“若是 X:/aa 或 P:/aa 时,则判断是指定路径,省略左边的文件夹结构”,如果有人需要保留的话就有点麻烦,我再想要不要给个特殊的标记或者加多一个参数怎么样。

具体再讨论一下吧。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-6-1 12:35

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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