windows - hvordan man fjerner citat fra forfiles variabler

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg skal generere en xml fra Windows kommandoprompt ved hjælp af kommandoen forfiles.


Jeg er ikke så langt, men variablen indeholder citater, og jeg vil ikke have det ...


Her er min nuværende kommando:


\%FF\_CMD\% /c "cmd /c if @isdir==TRUE echo ^<root^>^<dir^>@fname^</dir^>^</root^>"


resultatet er:


<root><dir>"DIRNAME"</dir></root>


men jeg vil have det her:


<root><dir>DIRNAME</dir></root>


nogen ide?


tak på forhånd

Bedste reference


Du kan oprette yderligere batchfil, siger 'echoxml.bat'. Dette vil tillade at bruge ~ notation til at strikke citater:


@echo off
echo ^<root^>^<dir^>\%~1^</dir^>^</root^>


og brug derefter batchfilen i forfiles:


\%FF\_CMD\% /c "cmd /c if @isdir==TRUE echoxml.bat @fname"


REDIGERE:
En anden mulighed ville være at ændre forfiles til for eller endda for /d hvis det er muligt (jeg ved ikke, hvilke argumenter du bruger i \%FF\_CMD\%):


@echo off
for /d \%\%A in (*) do echo ^<root^>^<dir^>\%\%~A^</dir^>^</root^>