stoepsu77
Goto Top

Batch: Angemeldeter User in Variable setzen

Hallo an Alle

Via Batch muss ich eine Datei unter dem angemeldeten User im Bereich Roaming ersetzen.
Meine Batch zielt dabei auf %username% als Variable, was aber leider nicht funktioniert, weil die Batch als Admin ausgeführt werden muss.

Mit Query User kann ich den angemeldeten User ja abfragen, bekomme den Namen aber einfach nicht in eine Variable gespeichert, damit ich den dann in der Pfadangabe einbauen könnte.

So nimmt er immer den Admin und nicht den angemeldeten User.
C:\Users\%username%\AppData\Roaming\....\Settings

Wie kann man den angemeldeten User in eine Variable speichern?

Danke
Lg BeMe

Content-Key: 73550857614

Url: https://administrator.de/contentid/73550857614

Printed on: July 14, 2024 at 17:07 o'clock

Member: tagol01
tagol01 Jun 24, 2024 at 11:17:40 (UTC)
Goto Top
Hallo

query user
Member: stoepsu77
stoepsu77 Jun 24, 2024 at 11:21:06 (UTC)
Goto Top
Und wie bekommt man den Usernamen vonQuery ser in eine Variable?
Das krieg ich nicht hin.
Member: TK1987
TK1987 Jun 24, 2024 at 11:26:40 (UTC)
Goto Top
Moin,

Zitat von @stoepsu77:
Und wie bekommt man den Usernamen vonQuery ser in eine Variable?
@echo off

for /f "Skip=1 Delims=> " %%A in ('query user') do set USER=%%A  

Gruß Thomas
Member: stoepsu77
stoepsu77 Jun 24, 2024 at 12:08:42 (UTC)
Goto Top
Danke, genau sowas hab ich gesucht.
Nur leider enthält die Variable USER am Ende ein Leerzeichen.
Wie bekommt man das weg?
Member: TK1987
Solution TK1987 Jun 24, 2024 at 12:14:53 (UTC)
Goto Top
Zitat von @stoepsu77:
Nur leider enthält die Variable USER am Ende ein Leerzeichen.
Dann hast du im Skript hinter dem %%A ebenfalls ein Leerzeichen - dieses einfach löschen.

Alternativ kannst du das set user auch in Anführungszeichen setzen...
for /f "Skip=1 Delims=> " %%A in ('query user') do set "USER=%%A"  
Member: stoepsu77
stoepsu77 Jun 24, 2024 at 12:14:59 (UTC)
Goto Top
Danke, habs geschafft.
Hab die Variable mit set User = User noch mal gesetzt.
Gäbe es vermutlich eleganter, klappt aber auch so.
Member: mbehrens
mbehrens Jun 24, 2024 at 13:37:17 (UTC)
Goto Top
Zitat von @stoepsu77:

Via Batch muss ich eine Datei unter dem angemeldeten User im Bereich Roaming ersetzen.
Meine Batch zielt dabei auf %username% als Variable, was aber leider nicht funktioniert, weil die Batch als Admin ausgeführt werden muss.

Mann könnte es als Parameter an das Script übergeben.
Member: stoepsu77
stoepsu77 Jun 25, 2024 at 04:46:37 (UTC)
Goto Top
Danke, Leerzeichen hinter %%A gab es nicht.
Aber es funktioniert, danke
Member: stoepsu77
stoepsu77 Jun 25, 2024 at 04:48:46 (UTC)
Goto Top
Hallo mbehrens

Wie meinst du das mit Parameter an Script übergeben?
Wie?
Es funktioniert zwar jetzt, interessiert mich aber trotzdem.
Man möchte ja auch was lernen.
Danke
Member: TK1987
TK1987 Jun 25, 2024 at 10:00:29 (UTC)
Goto Top
Zitat von @mbehrens:
Mann könnte es als Parameter an das Script übergeben.
Frau denn nicht? ­čśť

Zitat von @stoepsu77:
Wie meinst du das mit Parameter an Script übergeben?
Einfach beim Skriptaufruf noch den Benutzernamen dran hängen, dieser ist dann über die Variable "%1" erreichbar.

Wie?
Das hängt halt davon ab, wie/worüber du die Batch als Admin ausführst.