Plantsoot
| 电梯直达 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磁盘重启
未完,继续增加中……
◆ 新增的 COMMANDSfilelist :文件列表,这个不同于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 来说明一下,并感谢。
复制代码
[comment]
取UD工具时所取文件、目录列表,可根据内存大小DIY。
此为支持pe作pxe网启服务器端的列表
[SERVER]
0PE.BIN
grldr
0PE/*
SRS/*
SRS1/*
SRS2/*
BOOT/GRUB/MENU.0PE
BOOT/GRUB/MENU.DIY
BOOT/GRUB/GRUB.0PE
BOOT/GRUB/RUN
BOOT/GRUB/MENU.LST
BOOT/GRUB/MESSAGE
BOOT/GRUB/USB_ACC.0PE
BOOT/GRUB/USB_ACC.DOS
BOOT/IMGS/NTBOOT.GZ
BOOT/IMGS/KONBOOT.GZ
BOOT/IMGS/MAXDOS.IMG
BOOT/IMGS/DG.IMG
BOOT/IMGS/MEMTEST.GZ
BOOT/IMGS/dir.txt
PETOOLS/*
[CLIENT]
PETOOLS/*
0PE/PETOOLS/*
[MINI]
petools/DiskTools/FbinstTool.exe
petools/AutoRuns/DIY.bat
petools/AutoRuns/DIY.ini
petools/AutoRuns/DIY.WIM
petools/AutoRuns/Net_Snd_VGA.cmd
petools/AutoRuns/PEToolLNG.cmd
petools/DiskTools/备份还原/GHOST32.EXE
petools/DiskTools/分区工具/****.*
petools/DiskTools/BOOTICE*.EXE
petools/DiskTools/备份还原/GGhost硬盘安装器*.exe
petools/SysTools/desktop.ini
petools/SysTools/MMC_CHS.WIM
petools/SysTools/MMC_ENG.WIM
petools/SysTools/关小数字键盘NumLK-off.cmd
petools/FileTools/desktop.ini
petools/FileTools/WinRar.WIM
petools/FileTools/拼音加加.WIM
petools/DiskTools/desktop.ini
petools/DiskTools/SRS_Injection驱动注入.cmd
petools/DiskTools/硬件ID提取工具HWIDs.cmd
petools/DiskTools/备份还原/GHOSTEXP.EXE
petools/Drivers/desktop.ini
petools/Drivers/VBE.7z
petools/Drivers/万能显卡VBE.CMD
petools/Drivers/禁自动加VBE.CMD
petools/Drivers/DRIVERS_NET*.CAB
petools/NetTools/desktop.ini
petools/NetTools/IE6.WIM
PETOOLS/SysTools/VMware拖放剪贴板支持.exe
[TINY]
petools/DiskTools/FbinstTool.exe
petools/DiskTools/备份还原/GHOST32.EXE
petools/DiskTools/备份还原/GHOSTEXP.EXE
petools/DiskTools/BOOTICE*.EXE
petools/SysTools/MMC_CHS.WIM
petools/FileTools/WinRar.WIM
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 编辑 ]
|
评分 |