我正在尝试创建一个批处理文件,该文件将搜索指定的文件,并用其他内容替换其中的字符串
问题是每个用户的路径不同。
该文件是prefs.js,它位于C:\%username%\AppData\Roaming\Thunderbird\Profiles\xxxxxxx.default\prefs.js
这可能吗?
答案 0 :(得分:0)
虽然我知道这不是一个完整的答案,但它可能会让你到目前为止甚至可能让你重新考虑你的方法。
我不确定您是否知道每个最终用户都可以拥有多个配置文件,因此可以拥有个人资料文件夹。此外,他们可以将这些文件夹命名为,但他们不仅喜欢* .default名称,(可能根本不存在),它们也可以在任何位置。
但是有一种方法可以确定这些名称和路径,因为profiles.ini
目录中有一个名为%AppData%\Thunderbird
的文件,用于定义该信息。
以下是未经测试的示例脚本,该脚本应将变量设置为单个用户的可用prefs.js文件。
@Echo Off
Set "PF=%AppData%\Thunderbird\"
If Not Exist "%PF%" GoTo :EndIt
Set "i=0"
For /F "Tokens=1* Delims==" %%A In (
'FindStr/R "^Path=.*" "%PF%Profiles.ini"') Do (Set "TP=%%B"
Call :Sub "%%TP:/=\%%")
Set PJ[
:EndIt
Echo( Press any key to exit...
Timeout -1 1>Nul
Exit/B
:Sub
Set/A i+=1
If Exist "%PF%%~1\" (Set "PJ[%i%]=%PF%%~1\prefs.js"
) Else Set "PJ[%i%]=%~1\prefs.js"
答案 1 :(得分:0)
为什么不在你的路径中使用* .default?
你有没有看到有两个.default目录的Thunderbird?如果是,您的修改是否可能是另一个配置文件中的问题?
有时简单比复杂更好:)