Windows 是否可以在执行时修改自定义协议参数?

Windows 是否可以在执行时修改自定义协议参数?,windows,powershell,ftp,registry,filezilla,Windows,Powershell,Ftp,Registry,Filezilla,我需要用FileZilla打开一个ftp url。为了防止浏览器自己打开链接,有一个自定义协议fz ftp://通过Windows注册表定义 [HKEY_CLASSES_ROOT\fz-ftp\shell\open\command] @="\"C:\\FileZilla\\FileZillaPortable.exe\" \"%1\"" 但是,由于FileZilla不理解fz ftp://,我需要一种方法来删除注册表项中传递给FileZilla的参数“%1”中的“fz-”子字符串。 不允许使用第

我需要用FileZilla打开一个ftp url。为了防止浏览器自己打开链接,有一个自定义协议fz ftp://通过Windows注册表定义

[HKEY_CLASSES_ROOT\fz-ftp\shell\open\command]
@="\"C:\\FileZilla\\FileZillaPortable.exe\" \"%1\""
但是,由于FileZilla不理解fz ftp://,我需要一种方法来删除注册表项中传递给FileZilla的参数“%1”中的“fz-”子字符串。 不允许使用第三方工具,仅允许使用FileZilla、clean浏览器和Windows标准软件

问题是:

  • 是否至少可以修改自定义协议注册表定义中的参数
  • PowerShell是否有解决方案
  • 另一种方法是从网页打开FileZilla中的ftp链接

  • 不可以,但是您可以在
    控制面板\All Control Panel Items\Default Programs\set Associations
    中将FTP协议处理程序设置为Filezilla。然后,您应该能够让桌面快捷方式(
    .lnk
    )指向
    ftp://
    url,并在为ftp协议选择的默认程序中打开它

    如果您想在浏览器中单击FTP链接并在外部程序中打开它,web浏览器通常不允许您在不使用插件或扩展的情况下覆盖其内部协议处理程序。换句话说,您不能将其设置为常规浏览器设置。在这种情况下,最好只给出FTP URL,并指示用户使用Filezilla或他们首选的FTP客户端连接到站点


    无论采用哪种方式,您最好不要像使用
    fz ftp://

    那样使用自定义URL协议。简短回答:否。长回答:您需要编写一个脚本来执行此操作,然后使用修改后的参数调用FileZilla,并将“open”命令更改为该脚本。即使是在批处理中,这也相当简单。有关此类脚本(批处理)的示例,请参阅。