Sziasztok!
Nem túl bonyi, de nem boldogulok vele:
A
C:\Users\usernév\AppData\Roaming\Mozilla\Firefox\profiles.ini
fileban vannak felsorolva a user által használt Firefox profilok. Ezt a path-ot szeretném kinyerni batch fileból, majd a kapott változót tovább használni.
Valami olyasmi lenne (ez a része működik), hogy
for %a in (user1 user2) do (find /i "Path" "C:\Users\%a\AppData\Roaming\Mozilla\Firefox\profiles.ini")
ez szépen vissza adja a teljes, Profile sort, valahogy így:
Path=Profiles/gn83k0zy.default
Path=Profiles/9lxnmntk.default
Path=Profiles/g3dhy750.teszt
Majd a C:\Users\%a\AppData\Roaming\Mozilla\Firefox\Profiles\%PROFILEPATH% alkönyvtárban szeretnék kicsit matatni. (ha valakinek mond valamit: wpkg-hez kellene)
Namost: a következő kód elvileg kiszedné a szükséges stringet az előző for kimenetéből, csak nem udom, hogyan kéne egymásba ágyazni őket - az alábbi tuti nem jó, de itt elakadtam...
for /f "tokens=2 delims=/" %%i in (for %%a in (user1 user2) do
find /i "Path" "C:\Users\%a\AppData\Roaming\Mozilla\Firefox\profiles.ini")
do set PROFILEPATH=%%i
Tehát több user van, és userenként lehet több FF profile is.
Előre is nagyon köszönöm!
ui: sh/bash/ksh-ban (ezeket ismerem nagyjából) mennyivel egyszerűbb lenne... :)
- 7179 megtekintés
Hozzászólások
Windowsban erre (is) való a Powershell.
-----------
"640GB sokmindenre elég"
- A hozzászóláshoz be kell jelentkezni
Nem lenne jobb egy temp fájlba elmenteni az egyik for eredményét és a másik for ezt a temp fájlt olvassa fel?
Vagy ki a akarod kerülni a temp fájlt?
- A hozzászóláshoz be kell jelentkezni
Igen, pontosan ezért született a topic :)
Az úgy menne.
Viszont a nested for ciklusokról nem sok számomra (!) hasznos infót találtam. Nem mondom, hogy nincs, csak nekem valahogy nem jött össze... :)
<-------
You can't grep on dead trees.
- A hozzászóláshoz be kell jelentkezni
Igen, ennyit én is tudok...
de:
Nem ismerem, és most _csak_ ezért nem is nagyon szeretném magam beleásni. Egész' egyszerűen nekem most amolyan ágyúval verébre lenne.
Ráadásul - mind írtam - egy másik alkalmazásból fut majd, ami a powershell-lel nem tudom, hogyan működik együtt - valószínű jól, de inkább a %COMSPEC% /c-t használják :))
<-------
You can't grep on dead trees.
- A hozzászóláshoz be kell jelentkezni
Nos, ma esetleg valaki nested for ciklus-ügyben? :)
<-------
You can't grep on dead trees.
- A hozzászóláshoz be kell jelentkezni
ffoxprof.cmd:
@echo off
setlocal EnableDelayedExpansion
for %%u in (a b c) do (
set USER=%%u
for /f "usebackq tokens=2 delims=/" %%p in (`find /i "Path" "Users\!USER!\AppData\Roaming\Mozilla\Firefox\profiles.ini"`) do (
set PROFILE=%%p
echo "profile: !PROFILE!"
)
)
M:\tmp>ffoxprof.cmd
"profile: a1.default"
"profile: a2.default"
"profile: a3.teszt"
"profile: b1.default"
"profile: c2.default"
"profile: c3.teszt"
"profile: c1.default"
"profile: c2.default"
"profile: c3.teszt"
Az utakra figyelj, mert a saját, összecsapott próbakörnyezetemet tükrözik!
Amúgy hallgass a jó szóra. Egy nap alatt simán el lehetett volna jutni PS-ben eddig, és tovább - magyar dok van Soós Tibor jóvoltából.
Bár a CMD messze többre képes, mint command.com volt, de annak a végiggontolatlan baromságaival kénytelen bugkompatibilisnek lenni, akármilyen nyakatekerés árán. Normális shellen edződött feltételezésekkel nem szabad felé közeledni -- pontosabban ha valami nem kényszerít, egyáltalán nem szabad felé közeledni.
Komolyan csodálom a winadminok tűrőképességét; hogy egy évtizeden át jó pofát vágtak ehhez a rossz vicchez, és nem gyújtották fel a MS-központot.
- A hozzászóláshoz be kell jelentkezni
aprósággal kiegészíteném, hogy ne kelljen userneveket beírni és ne keressen ha nem létezik a fájl
for /F "tokens=*" %%u in ('dir /b c:\users') do (
set USER=%%u
for /f "usebackq tokens=2 delims=/" %%P in (`if exist "c:\Users\!USER!\AppData\Roaming\Mozilla\Firefox\profiles.ini" find /i "Path" "c:\Users\!USER!\AppData\Roaming\Mozilla\Firefox\profiles.ini"`) do (
- A hozzászóláshoz be kell jelentkezni
Nested loophoz annyit, hogy a legegyszerűbb a belső fort kirakni egy eljárásba, és a külsőből azt meghívni. Persze így szebb. :)
"Komolyan csodálom a winadminok tűrőképességét; hogy egy évtizeden át jó pofát vágtak ehhez a rossz vicchez, és nem gyújtották fel a MS-központot."
Volt vbscript, gondolom azért. :)
Egyébként nagyon igaz, kedvencem az a szívás amikor egy script paraméterben kapott egy könyvtár nevet, ehhez hozzáfűzésre került egy relatív elérési út, és ha az összeillesztésnél \\ keletkezett, akkor nem találta az elérési úton levő fájlt vagy könyvtárt.
- A hozzászóláshoz be kell jelentkezni
Most, így, egyben, mindenkinek:
KÖSZÖNÖM! :)
Nem csak a megoldásokat, hanem azt is, hogy tudok belőlük tanulni :)
A PS-t pedig megígérem, hogy megnézem, csak ennek a melónak érjek egyszer a végére... :)
<-------
You can't grep on dead trees.
- A hozzászóláshoz be kell jelentkezni