2012-03-20 47 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