Der Titel sagt nur einen Teil aus, evtl. lässt sich das Problem auch ganz anders lösen?
Mein Vorhaben ist es alle Add-ons aus den Firefox-Profilen zu löschen. Im Grunde funktioniert meine Lösung auch, aber nicht wenn User Umlaute im Namen haben. Der Grundgedanke ist folgender:
- Zuerst lese ich die User aus,
- bastle daraus den Pfad zum Firefox Profilordner für jeden User,
- liste dort jeweils alle Profile auf,
- erweitere die Pfade (wenn vorhanden) bis zum "extensions" Ordner der einzelnen Profile und lösche darin alle .xpi Dateien.
Das Script sieht folgendermaßen aus und funktioniert auch:
Code: Alles auswählen
; delete extentions in all userprofiles
DefVar $tmpdir$
DefVar $subvar$
DefVar $userlist$
DefVar $profilelist$
DefStringList $list0$
DefStringList $list1$
DefStringList $list2$
DefStringList $list3$
set $tmpdir$ = "%SystemDrive%\tmp"
set $userlist$ = "ff_userlist.txt"
set $profilelist$ = "ff_profilelist.txt"
set $list0$ = getProfilesDirList
for $x$ in $list0$ do DOSInAnIcon_userdir
set $list1$ = loadTextFile ("%SystemDrive%\tmp\ff_userlist.txt")
for $y$ in $list1$ do sub_extentions_path
set $list3$ = loadTextFile ("%SystemDrive%\tmp\ff_profilelist.txt")
for $w$ in $list3$ do files_delete_xpi
files_delete_tmp
[DOSInAnIcon_userdir]
@echo off
echo $x$\AppData\Roaming\Mozilla\Firefox\Profiles>> $tmpdir$\$userlist$
[sub_extentions_path]
Set $subvar$ = "$y$"
if FileExists($subvar$)
Set $list2$ = getOutStreamFromSection ("DOSInAnIcon_def_profile")
for $z$ in $list2$ do DOSInAnIcon_extentions_path
endif
[DOSInAnIcon_def_profile]
@echo off
dir "$subvar$" /b
[DOSInAnIcon_extentions_path]
@echo off
echo $subvar$\$z$\extensions>> $tmpdir$\$profilelist$
[files_delete_xpi]
delete $w$\*.xpi
[files_delete_tmp]
delete $tmpdir$\$userlist$
delete $tmpdir$\$profilelist$
Habe schon alles Mögliche versucht (Codepages, selbst eine .bat zu erstellen, encodings im Script usw). Leider hat nichts funktioniert. Ich muss aber irgendwie an eine Liste der Firefox Profilordner innerhalb der verschiedenen Userverzeichnisse kommen um dort die .xpi Dateien löschen zu können.
Für jeglichen Input bin ich dankbar
