Escaping strenge i en Windows Batch For Loop

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har problemer med følgende kode:


FOR /f "tokens=*" \%\%A in (\%MYFILE\_PATH\%) do (
    [other stuff]
    echo \%\%A>> "\%MYFILE\_PATH\%.scratch"
)


Filen, der læses, har XML i den, og når < og> tegn læses, scriptet kaster fejl.
Hvordan kan jeg undslippe indholdet af \%\% A til sikker ekko i outputfilen?
Jeg vil ikke sætte dobbelt citater rundt om det, da det vil ekko citaterne også.


Tak

Bedste reference


FOR /f "tokens=*" \%\%A in (\%MYFILE\_PATH\%) do (
    [other stuff]
    (echo \%\%A)>>"\%MYFILE\_PATH\%.scratch"
)


Når du tilføjer indholdet af \%\% A til en anden fil, kopierer du alt, hvad du hovedsageligt gør.


REDIGERE


 FOR /f "tokens=* delims=" \%\%A in (\%MYFILE\_PATH\%) do (
    [other stuff]
    (echo \%\%A)>>"\%MYFILE\_PATH\%.scratch"
)