我只有非常基本的技能为windows编写批处理文件。
我希望能够在每个ThunderBird个人资料中add this line到prefs.js
作为登录脚本的一部分:
user_pref("msgcompose.text_color", "black");
如果msgcompose.text_color
已存在其他值,那么理想情况下我希望将其替换为"black"
。
我有一些难题:
%APPDATA%\Thunderbird\Profiles\*.default\prefs.js
%APPDATA%\Thunderbird\Profiles\*.default
为零,扩展通配符时有一个或多个配置文件夹echo
命令和>>
如何将这些碎片放在一起?
<小时/> 编辑:
虽然此方法有效,但我发现user.js
这是覆盖prefs.js
答案 0 :(得分:2)
我能看到的最简单的方法是首先删除pref(如果它已经存在)并无条件地将其附加到文件中。这样,如果它已经存在,你就不会进行覆盖,但是在普通的批处理文件中这很难做到。
类似的东西:
for /d %%x in ("%APPDATA%\Thunderbird\Profiles\*.default") do (
findstr /v /c:"msgcompose.text_color" "%%x\prefs.js" > "%%x\prefs.new.js"
echo user_pref^("msgcompose.text_color", "black"^);>>"%%x\prefs.new.js"
move /y "%%x\prefs.new.js" "%%x\prefs.js" >nul
)
findstr /v
仅打印不包含搜索文本的行。
在测试期间,我建议在最后一行注释掉move
,直到您确定它确实可以正常工作。