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

Ausgedruckt am: 29.03.2024 um 07:03 Uhr

Mitglied: bastla
bastla 30.09.2008 um 16:39:46 Uhr
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
Mitglied: stbewo
stbewo 01.10.2008 um 07:37:42 Uhr
Goto Top
Hallo jschneider,

Deine Version funktioniert bei mir (ohne Maskierung).

Gruß
Stefan
Mitglied: bastla
bastla 01.10.2008 um 10:52:36 Uhr
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
Mitglied: jschneider
jschneider 01.10.2008 um 11:00:37 Uhr
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