Windows 如何从forfiles变量中删除引号
我需要使用forfiles命令从windows命令提示符生成xml 我现在还不清楚,但是变量包含引号,我不想要它 下面是我当前的命令:Windows 如何从forfiles变量中删除引号,windows,variables,command-line,cmd,Windows,Variables,Command Line,Cmd,我需要使用forfiles命令从windows命令提示符生成xml 我现在还不清楚,但是变量包含引号,我不想要它 下面是我当前的命令: %FF_CMD% /c "cmd /c if @isdir==TRUE echo ^<root^>^<dir^>@fname^</dir^>^</root^>" %FF_CMD%/c“CMD/c如果@isdir==TRUE echo^^@fname^” 结果是: <root><dir>"
%FF_CMD% /c "cmd /c if @isdir==TRUE echo ^<root^>^<dir^>@fname^</dir^>^</root^>"
%FF_CMD%/c“CMD/c如果@isdir==TRUE echo^^@fname^”
结果是:
<root><dir>"DIRNAME"</dir></root>
“DIRNAME”
但我想要这个:
<root><dir>DIRNAME</dir></root>
DIRNAME
有什么想法吗
提前感谢您可以创建额外的批处理文件,比如“echoxml.bat”。这将允许使用
~
符号删除引号:
@echo off
echo ^<root^>^<dir^>%~1^</dir^>^</root^>
编辑:
另一种选择是,如果可能的话,将文件的更改为,甚至将/d的更改为(我不知道您在%FF\u CMD%
中使用了什么参数):
@echo关闭
对于(*)中的/d%%A,执行回显^^%%~A^^
谢谢你的回答,但我找到了一个解决办法。。我将该值移动到一个属性,如:Epic。我没有意识到我会删除引用。我一直在使用set file=%1 set filetrim=%file:~1,-1%
%FF_CMD% /c "cmd /c if @isdir==TRUE echoxml.bat @fname"
@echo off
for /d %%A in (*) do echo ^<root^>^<dir^>%%~A^</dir^>^</root^>