如何从forfiles变量中删除引用

时间:2012-03-20 12:12:33

标签: windows variables command-line cmd

我需要使用forfiles命令从windows命令提示符生成一个xml。

我不是那么远,但变量包含引号,我不想要它......

这是我当前的命令:

%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 个答案:

答案 0 :(得分:7)

您可以创建其他批处理文件,例如“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^>