当我执行此命令时
cd /D "%APPDATA%\Mozilla\Firefox\Profiles\*.REPORTING_1"
它工作正常,' *'被替换
但是当我使用for循环时,' *'没有被替换
for /L %%a in (1, 1, 2) do (
cd /D "%APPDATA%\Mozilla\Firefox\Profiles\*.REPORTING_%%a"
set ffile=%cd%
)
答案 0 :(得分:0)
您的Firefox配置文件可能位于该位置,大多数* .default文件夹也是如此,但这不是唯一可以找到的地方,每个用户可以拥有其中的几个。 但好消息是,他们的位置是在特定位置的特定文件中定义的。
以下示例代码应该(未经测试),通过搜索该已知文件输出每个ProfilePath,并可以帮助您解决问题。
@Echo Off
SetLocal
Set "PF=%AppData%\Mozilla\Firefox\"
If Not Exist "%PF%" GoTo :EndIt
Set i=0
For /F "Tokens=1* Delims==" %%A In (
'FindStr/R "^Path=[A-Z]*" "%PF%Profiles.ini"') Do (Set "FP=%%B"
Call :Sub "%%FP:/=\%%")
Set PP[
:EndIt
Echo( Press any key to exit...
Timeout -1 1>Nul
Exit/B
:Sub
Set/A i+=1
If Exist "%PF%%~1\" (Set PP[%i%]="%PF%%~1") Else (Set PP[%i%]="%~1")
每个ProfilePath都设置为变量,例如%PP [1]%,%PP [2]%,%PP [3]%......等。