2016-11-25 74 views
-1

當我EXCUTE此命令如何使用for循環做到這一點?

cd /D "%APPDATA%\Mozilla\Firefox\Profiles\*.REPORTING_1" 

它工作正常,在 '*' 代替

但是當我工作了循環的 '*' 不更換

for /L %%a in (1, 1, 2) do (
    cd /D "%APPDATA%\Mozilla\Firefox\Profiles\*.REPORTING_%%a" 
    set ffile=%cd% 
) 
+0

如果我看看我的firefox appdata subdirs,我沒有發現任何類似的東西,你應該展示你想要迭代的dirs的樣本。 Tree.exe對此仍然有幫助。 – LotPings

+0

IMO在星號 – LotPings

+0

前面有一個反斜線,這是「%APPDATA%\ Mozilla \ Firefox \ Profiles \\ *。REPORTING_1」更改爲「C:\ Users \ khalid \ AppData \ Roaming \ Mozilla \ Firefox \配置文件\\ *。R EPORTING_1「,並且該文件夾我創建了它的defult文件夾有」C:\ Users \ khalid \ AppData \ Roaming \ Mozilla \ Firefox \ Profiles \\ * .d默認「和'*'應該被替換爲字符串Mozilla創建它 –

回答

0

您的Firefox配置文件可能位於該位置,大多數*。默認文件夾也可以找到,但這不是唯一可以找到的位置,每個用戶可以有幾個。 雖然好消息是它們的位置是在特定位置的特定文件中定義的。

以下示例代碼應該(未測試)通過搜索已知文件輸出每個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]%...等等。

+0

不是直接回答我的問題,但是我改變了一切以便我可以使用您的示例和IT WORKED,非常感謝(y) –