本帖最后由 kidzgy 于 2022-11-29 19:15 编辑
fr文件:http://bcn.bathome.net/tool/2.1.7.0424/fr.exe
fr文件操作说明:http://baiy.cn/utils/fr/index.htm
正则测试文件(文件名为extensions.json,全文单行内容):https://pastebin.ubuntu.com/p/QfgD7xzntJ/plain/
正则测试主要内容(源测试文件内容较多,将无关内容去除后的主要内容)- "path":"D:\\Firefox106\\Profiles\\extensions\\s3google@translator.xpi","path":"D:\\Firefox106\\browser\\features\\screenshots@mozilla.org.xpi",,"path":"D:\\Firefox106\\browser\\features\\webcompat@mozilla.org.xpi",
复制代码 正则测试语句:- \"path\"\:\".*?\\\\(browser\\\\features|Profiles\\\\extensions).*?
复制代码 要点:- (1)【D:\\Firefox106】路径不唯一,它可以是任何路径,任意文件夹名。fr的最终目的就是,不管当前路径如何,在fr.exe后,重新刷新为当前路径。比如,当前路径是【D:\\Firefox106】,但我又把Firefox106文件夹放到【C:\123】在fr.exe,那路径就该是【C:\123\Firefox106】。
- (2)在用 regex101.com 测试的时候,通过上述测试语句搜索,匹配的内容是【D:\\Firefox106\\Profiles\\extensions】或【D:\\Firefox106\\browser\\features】
复制代码 ,并且将【Profiles\\extensions】或【browser\\features】设置为【组1(即\1)】。
我在regex101测试内容截图:
我的批处理命令行内容如下:- @ECHO OFF&(PUSHD "%~DP0")
- set firefox=%~DP0
- set firefox1=%firefox:\=/%
- set firefox2=%firefox:\=\\\\%
- fr.exe "extensions.json" -ric:"***:file:\/\/\/.*?\/(Profiles\/extensions|browser\/features).*?" -t:"file:///%firefox1%\1"
- fr.exe "extensions.json" -ric:"***:\"path\"\:\".*?\\\\(browser\\\\features|Profiles\\\\extensions).*?" -t:""path":"%firefox2%\1"
复制代码 发现 第一条fr.exe 这条语句是可以成功替换的,但是第二条 fr.exe 则是替换失败,本帖的内容就是讨论第二条的执行问题,不知道原因在哪里?
请问,语句应该怎么修改?或者是否必须使用fr外的第三方命令工具,如果是其他第三方工具命令行内容该如何填写? |