Batch Ausgabe in Variable speichern

hpxw

Lieutenant
Registriert
Mai 2008
Beiträge
785
ich möchte über batch die Email Adresse des angemeldeten Benutzers auslesen. (kein Powershell)

https://social.technet.microsoft.co...7f41c8595/user-email-from-username?forum=ITCG
Da habe ich den Befehl gefunden, der auch in cmd funktioniert
"powershell.exe -e KABbAEEARABTAEkAXQAoACIATABEAEEAUAA6AC8ALwAiACAAKwAgACgAdwBoAG8AYQBtAGkAIAAvAGYAcQBkAG4AKQApACkALgBtAGEAaQBsAA=="

Wie speichere ich jetzt die Ausgabe in eine Variable und gebe diese Testweise aus?
Ich habe folgendes probiert, aber die Email Adresse wird nicht ausgegeben

for /f "tokens=*" %%a in ('powershell.exe -e KABbAEEARABTAEkAXQAoACIATABEAEEAUAA6AC8ALwAiACAAKwAgACgAdwBoAG8AYQBtAGkAIAAvAGYAcQBkAG4AKQApACkALgBtAGEAaQBsAA==') do set Email=%%a
echo %Email%
 
Zuletzt bearbeitet:
Setze mal ein SETLOCAL ENABLEDELAYEDEXPANSION an den Anfang der Batch. Ggfs musst du die Variable dann auch mit !Email! abrufen.
 
  • Gefällt mir
Reaktionen: gaym0r
klappt nicht, email wird nicht ausgegeben
 
Raijin schrieb:
Ggfs musst du die Variable dann auch mit !Email! abrufen.
Ist nicht nötig. Braucht man nur, wenn die gerade gesetzte Variable innerhalb desselben Loops genutzt werden soll.

@hpxw teste mal:
Code:
for /f "tokens=*" %%a in ('powershell.exe -e "KABbAEEARABTAEkAXQAoACIATABEAEEAUAA6AC8ALwAiACAAKwAgACgAdwBoAG8AYQBtAGkAIAAvAGYAcQBkAG4AKQApACkALgBtAGEAaQBsAA=="') do set "Email=%%a"

For Loops sind manchmal zickig, was Syntax angeht.
 
Zuletzt bearbeitet von einem Moderator:
  • Gefällt mir
Reaktionen: hpxw
perfekt, das funktioniert. Danke!
 
  • Gefällt mir
Reaktionen: Raijin und s1ave77
hpxw schrieb:
TIPP: Bei For Loops ist es manchmal hilfreich, die direkt in einem CMD Fenster zu testen (dran denken, im Fenster: %a statt %%a). Dann sieht man den Fehler.

Bei mir konnte, das zwar nicht aufgelöst werden, aber im Loop kam ein Fehler bezüglich Base64 Encoding. Die zusätzlichen Anführungszeichen haben das geklärt ;).
 
  • Gefällt mir
Reaktionen: hpxw
Zurück
Oben