本帖最后由 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?來說明一下,并感謝。
復制代碼 [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 編輯?]
|