как удалить кавычки из переменных forfiles - PullRequest
5 голосов
/ 20 марта 2012

Мне нужно сгенерировать xml из командной строки Windows с помощью команды forfiles.

Я не так далеко, но переменная содержит кавычки, и я не хочу этого ...

Вот моя текущая команда:

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

результат:

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

но я хочу это:

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

Есть идеи?

спасибо заранее

1 Ответ

7 голосов
/ 21 марта 2012

Вы можете создать дополнительный пакетный файл, скажем, "echoxml.bat".Это позволит использовать нотацию ~ для удаления кавычек:

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

, а затем использовать пакетный файл в forfiles:

%FF_CMD% /c "cmd /c if @isdir==TRUE echoxml.bat @fname"

РЕДАКТИРОВАТЬ: другим вариантом будет изменить forfiles до for или даже for /d, если это возможно (я не знаю, какие аргументы вы используете в %FF_CMD%):

@echo off
for /d %%A in (*) do echo ^<root^>^<dir^>%%~A^</dir^>^</root^>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...