Jump to content

Echo off in Schleife


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben (bearbeitet)

Hallo allerseits, 

 

ich habe eine ganz einfache Frage (zumindest für Batchexperten): Der folgende Befehl gibt mir von einer Win Aufgabe die UserId aus:

 

for /f %a in ('schtasks /query /TN _01_Task1 /XML ^|findstr "UserId"') DO  Set "xml=%a"

 

In einer batch, wo ich diese variable benötige funktioniert das jedoch nicht? Weiss jemand warum? Mein Codeschnipsel sieht so aus:

 

 

@echo off


for /f %%a in ('schtasks /query /TN _01_Regwerte_setzen /XML ^|findstr "UserId"') DO (
 Set "xml=%%a"

)

echo %xml%

 

Vorweg erwähnt, PS ist in meinem Fall keine Alternative.

 

lg

 

Stefan

 

 

 

 

 

bearbeitet von stefan4711
Geschrieben

Moin,

 

vor einer Stunde schrieb stefan4711:

In einer batch, wo ich diese variable benötige funktioniert das jedoch nicht?

nun wäre es noch hilfreich, wenn du angäbest, was denn nicht funktioniert und was stattdessen passiert.

 

Allgemein stolpere ich über die Anführungsstriche in der Zuweisung. Normalerweise schreibt man:

SET Var=Wert

 

Gruß, Nils

Geschrieben

Such mal nach "delayed expansion"; das ist was Dir hier fehlt... Der Set in der For-Schleife kommt im Rest vom Batch nicht an, %xml% enthält "nichts".

PS: Das XML eines geplanten Tasks so zu parsen wäre mir nie eingefallen - Powershell kann das deutlich besser.

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...