插件路径匹配说明

Ventoy的很多插件都是针对某个镜像文件设定某种配置。比如自动安装插件,如下:

{
    "auto_install": [
        {
            "image": "/ISO/CentOS/CentOS-7-x86_64-DVD-1810.iso",
            "template": "/ventoy/script/centos_kickstart.cfg"
        }
    ]
}

配置时需要通过 image 参数指定镜像文件的全路径。这里的路径可以写固定的完整路径,也可以使用 * 进行模糊匹配。
注意:为了实现简单,这里的 * 模糊匹配和我们日常的用法不一样。具体为:

  • 1个 * 固定只匹配1个字符,要想匹配多个字符就要写多个 *
  • 对于中文或其他特殊字符,在 UTF-8 编码中占几个字节就需要写几个 * (比如1个中文一般需要3个*)
  • * 只能用在最后面的文件名部分,前面的路径部分不可以使用
  • 只有在每个插件文档中明确说明了可以使用这里的模糊匹配的情况下才可以用,没有说明的则不可以使用。

举例来说: abc*.iso 只能匹配 abc1.iso/abcx.iso... 但是不能匹配 abc.iso/abc12.iso/abcxxx.iso...
其实说白了,仍然是逐个字符进行比较,只不过现在遇到星号也认为是匹配的,所以字符串的长度仍然要保持一致。


示例

{
    "auto_install": [
        {
            "image": "/ISO/CentOS/CentOS-7-x86_64-DVD-****.iso",
            "template": "/ventoy/script/centos7_kickstart.cfg"
        },
        {
            "image": "/ISO/CentOS/CentOS-8-***************.iso",
            "template": "/ventoy/script/centos8_kickstart.cfg"
        }
    ],
    
    "auto_memdisk": [
        "iKuai8****************************.iso"
    ],
    
    "menu_alias": [
        {
            "image": "/ISO/Ubuntu-20.**-desktop-amd64.iso",
            "alias": "Ubuntu 20"
        },
        {
            "image": "/ISO/Ubuntu-21.**-desktop-amd64.iso",
            "alias": "Ubuntu 21"
        },
        {
            "image": "/ISO/MX-19.*_x64.iso",
            "alias": "MX 19 ISO file For me"
        }
    ],
    
    "password": {
        "menupwd": [
            {
                "file":"/ISO/MX-****_x64.iso",
                "pwd":"md5#e10adc3949ba59abbe56e057f20f883e"
            }
        ]
    }
    
}