Page 1 of 2

Batch für alle Userprofile ausführen

Posted: 25. Oct 2013, 11:43
by Khal_Simon
Hallo zusammen,

ich möchte in meinem Paket eine Batch-Datei ausführen, die Änderungen in allen bereits bestehenden Userprofilen macht. Zukünftig angelegte Userprofile sollen nicht betroffen werden, was einer der Gründe ist, warum ein Userteil nicht in Frage kommt.
Gibt es eine Möglichkeit, ob in Empirum oder in der Batch selber, dass die Namen der bestehenden Ordner unter D:\Users ausgelesen werden und dann der Rest der Batch in jedem dieser Ordner ausgeführt wird?

LG Simon

Re: Batch für alle Userprofile ausführen

Posted: 25. Oct 2013, 19:38
by Frank Dethlefsen
Moin!

Hier ein Batch-Beispiel für die Suche nach sämtlichen Ordner mit dem Name "\Java\" unterhalb von C:\Users.

Code: Select all

for /f %%i in ('dir C:\Users /AD /B /S ^| find /I ^"\Java\^"') Do echo rd /s /q "%%i"
Vielleicht hilft es Dir Bei Deinem Vorhaben.

Re: Batch für alle Userprofile ausführen

Posted: 28. Oct 2013, 08:16
by Khal_Simon
Hallo Frank
Frank Dethlefsen wrote: Hier ein Batch-Beispiel für die Suche nach sämtlichen Ordner mit dem Name "\Java\" unterhalb von C:\Users.

Code: Select all

for /f %%i in ('dir C:\Users /AD /B /S ^| find /I ^"\Java\^"') Do echo rd /s /q "%%i"
Vielleicht hilft es Dir Bei Deinem Vorhaben.
Danke erstmal für die Hilfe. Wenn ich den Befehl aber in eine Batch schreibe, das echo entferne und C:\Users noch in D:\Users ändere, dann macht er erstmal garnix. Ich hab dann noch eine Pause eingebaut, und das ganze sieht dann so aus:

Image

So wie ich das sehe tut der überhaupt nix, sämtliche Java-Ordner unter D:\Users sind noch da

Ich glaube, für mein Vorhaben würde es schon reichen, wenn ich eine Datei in alle Unterordner und deren Unterordner von D:\Users kopieren könnte, deren Name einem bestimmten Schema folgt. Möglicherweise ist das einfacher umzusetzen

LG Simon

Re: Batch für alle Userprofile ausführen

Posted: 28. Oct 2013, 09:08
by Frank Dethlefsen
Die Batch funzt bei mir. Die Suche nach "\Java\" war nur ein Beispiel von mir. Vielleicht gibt es den Ordner garnicht bei Dir. Wo nach suchst Du genau? (Dateiname, Ordnername, etc)

Re: Batch für alle Userprofile ausführen

Posted: 28. Oct 2013, 11:36
by Khal_Simon
Für den Test hab ich selber ein paar Java-ordner in verschiedenen Userprofilen angelegt, die aber nicht gelöscht wurden.

Eigentlich suche ich nach den Profilordnern von Firefox, die ja alle nach dem Schema *.default aufgebaut sind. hab zum Test ein paar solche Ordner auf meinen Desktop gelegt und einfach mal versucht, ob die Batch eine datei aus einem Ordner auf dem Desktop in diese kopiert. Ging aber schonmal nicht

Mein Befehl:

Code: Select all

for /f "tokens=*" %i in ('dir /ad /b "D:\Users\empirum\Desktop\*.default"') do xcopy "D:\Users\empirum\Desktop\tool\cert8.db" "D:\Users\empirum\Desktop\*.default\cert8.db" /f
LG Simon

Re: Batch für alle Userprofile ausführen

Posted: 28. Oct 2013, 15:11
by Walter_Schulz
Wuerde der Xcopy-Befehl mit * als Ziel funktionieren, wuerde man FOR nicht benoetigen.

Code: Select all

for /D %a in (D:\Users\profile\*) do for /D %b in (%a\Anwendungsdaten\Mozilla\Firefox\Profiles\*.default) do  xcopy "D:\Users\Empirum\Desktop\tool\cert8.db" "%b\cert8.db" /F

Ciao
Walter Schulz

Re: Batch für alle Userprofile ausführen

Posted: 28. Oct 2013, 15:44
by Khal_Simon
Hallo Walter

hab deinen Befehl ausprobiert (für Win7 natürlich mit %a\AppData\Roaming\Mozilla\Firefox\Profiles\*.default), aber leider ohne Erfolg. Das Ausführen des Befehls schließt jedesmal die Batch, obwohl in der nächsten zeile eine pause kommt, und kopiert garnix. Die Pfadangaben hab ich alle überprüft, die passen alle. :(

LG Simon

Re: Batch für alle Userprofile ausführen

Posted: 28. Oct 2013, 15:55
by Walter_Schulz

Code: Select all

for /D %a in (D:\Users\profile\*) do for /D %b in (%a\AppData\Roaming\Mozilla\Firefox\Profiles\*.default) do echo %b
Wird D:\Users\profile\<Benutzerprofilverzeichnis>\AppData\Roaming\Mozilla\Firefox\Profiles mit den entsprechenden Verzeichnissen (*.default} von Echo ausgegeben, wenn man den Befehl von der Kommandozeile aus aufruft?

Ciao
Walter Schulz

Re: Batch für alle Userprofile ausführen

Posted: 28. Oct 2013, 16:18
by Khal_Simon
Walter_Schulz wrote:

Code: Select all

for /D %a in (D:\Users\profile\*) do for /D %b in (%a\AppData\Roaming\Mozilla\Firefox\Profiles\*.default) do echo %b
macht, von cmd aus ausgeführt, garnix. ich drücke enter und hab sofort wieder meine Eingabezeile da.
Das selbe Eregebnis also, wie wenn ich die For-Schleife mit xcopy ausführe. Der Fehler liegt also sicher nicht im xcopy-Befehl

LG Simon

Re: Batch für alle Userprofile ausführen

Posted: 28. Oct 2013, 16:22
by Walter_Schulz
Seltsam! Bitte mal testen:

Code: Select all

for /D %a in (D:\Users\profile\*) do echo %a
Ciao
Walter Schulz

Re: Batch für alle Userprofile ausführen

Posted: 28. Oct 2013, 16:30
by Khal_Simon
Leider das gleiche Ergebnis :(

Image

LG Simon

Re: Batch für alle Userprofile ausführen

Posted: 28. Oct 2013, 16:39
by Walter_Schulz
Statt (D:\Users\profile\*) bitte (D:\Users\*) verwenden. Sorry!

Ciao!
Walter Schulz

Re: Batch für alle Userprofile ausführen

Posted: 29. Oct 2013, 07:17
by Khal_Simon
>.< Das hätt mir auch auffallen sollen

In der cmd funktionierts jetzt, aber die Batch reagiert immer noch so wie vorher, sowohl bei xcopy als auch echo. Sie beendet immer ohne etwas zu tun.

LG Simon

Re: Batch für alle Userprofile ausführen

Posted: 29. Oct 2013, 07:31
by Walter_Schulz
Bitte mal die Batch posten oder als Code einfuegen.

Ciao
Walter Schulz

Re: Batch für alle Userprofile ausführen

Posted: 29. Oct 2013, 07:45
by Khal_Simon
Biddeschön:

Code: Select all

for /D %a in (D:\Users\*) do for /D %b in (%a\AppData\Roaming\Mozilla\Firefox\Profiles\*.default) do xcopy "C:\EmpirumAgent\Packages\Mozilla\Firefox FR AT - DE\24.0\cert8.db" "%b\cert8.db" /F
REM for /D %a in (D:\Users\*) do for /D %b in (%a\AppData\Roaming\Mozilla\Firefox\Profiles\*.default) do echo %b
pause
@echo off hab ich bewusst nicht gemacht, damit ich sehe was er genau tut. "Firefox FR AT - DE" ist der korrekte Name des Paketes, da wir verschiedene Firefox-Sprachversionen im Einsatz haben.

LG Simon