Jump to content

Echo off in Schleife


Recommended Posts

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

 

 

 

 

 

Edited by stefan4711
Link to post

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

Link to post

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.

Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...