jschneider
Goto Top

syntaxfrage

Salve,


wie kann ich denn folgenden Befehl in eine For-Schleife packen, so dass der Befehl so wie er kommt ausgeführt wird ?


set adfind_bin=c:\adfind.exe
set LDAPPATH=dc=meine,dc=tolle,dc=domain
set vUser=icke

for /f  %%a in ('%adfind_bin% -b "%LDAPPath%" -f "(&(objectcategory=person)(objectclass=user)(name=%vUser%))" -nocsvheader -list attr Profilepath') do (  

 echo Profilepfad %%a
)

es meckert immer

Content-Key: 98196

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

Printed on: May 5, 2024 at 08:05 o'clock

Member: bastla
bastla Sep 30, 2008 at 14:39:46 (UTC)
Goto Top
Hallo jschneider!

die Zeichen
& ^ < > |
musst Du in Batch durch ein vorangestelltes Caret (^) "maskieren", damit sie nicht als Steuerzeichen interpretiert werden.

[Edit] Obige Behauptung ist insofern einzuschränken, als Sonderzeichen, die sich zwischen Anführungszeichen befinden, ohnehin als Text (und eben nicht als Steuerzeichen) gesehen werden und es daher der Maskierung gar nicht bedarf - daher könnte Dein Batch in dieser Hinsicht unverändert bleiben. [/Edit]

Grüße
bastla
Member: stbewo
stbewo Oct 01, 2008 at 05:37:42 (UTC)
Goto Top
Hallo jschneider,

Deine Version funktioniert bei mir (ohne Maskierung).

Gruß
Stefan
Member: bastla
bastla Oct 01, 2008 at 08:52:36 (UTC)
Goto Top
@stbewo
Sollte sie auch - ich hatte gestern leider nicht genau genug geschaut, und daher nicht beachtet, dass das fragliche "&" ohnehin zwischen Anführungszeichen steht ...

@jschneider
Wo liegt denn dann eigentlich das Problem?

Grüße
bastla
Member: jschneider
jschneider Oct 01, 2008 at 09:00:37 (UTC)
Goto Top
ich bin gerade nicht vor Ort, wo das Script im Entstehen ist

sobald ich mein Lab vorbereitet habe (vorraussichtlich morgen) gebe ich das exakte Problem nochmal hier durch