2012-03-20 44 views
4

我需要使用forfiles命令从Windows命令提示符生成一个xml。如何从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> 

有什么想法?

在此先感谢

回答

5

您可以创建其他批处理文件,说 “echoxml.bat”。这将允许使用~符号剥离报价:

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

,然后使用FORFILES批处理文件:

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

编辑: 另一种选择是改变forfilesfor,甚至for /d如果有可能(我不知道你在%FF_CMD%中使用什么参数):

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

谢谢你的ans wer,但是我找到了一个解决方法..我把这个值移动到了这个属性:

fedevo 2012-04-10 17:08:09

+0

史诗。我没有意识到%〜1会去掉引号。我一直在使用 set file =%1 set filetrim =%file:〜1,-1% – JJS 2015-02-06 15:53:40