2014-09-14

【命令行写法说明】


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

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

【新增功能说明】

   ◆ 新增 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/分区工具/DiskGenius350.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


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

Fbinst Plus