Xml bat文件结果中出现的引号
我尝试对一些文件进行批处理,并使用收集到的信息创建一个XML,但为了在XML中创建字符串,我不得不在引号中声明变量,这些引号稍后会出现在XML中 蝙蝠档案Xml bat文件结果中出现的引号,xml,batch-file,Xml,Batch File,我尝试对一些文件进行批处理,并使用收集到的信息创建一个XML,但为了在XML中创建字符串,我不得不在引号中声明变量,这些引号稍后会出现在XML中 蝙蝠档案 cls var mybar 设置“mybar=” 对于(*.pdf)中的/r%%i,请拨打:concat%%i 回音“%mybar%”>mig.txt 复制ini.txt+mig.txt+final.txt prova2.txt 后藤:eof :concat 设置“inici=” 设置“mybar=%mybar%%inici%%1%fina
cls
var mybar
设置“mybar=”
对于(*.pdf)中的/r%%i,请拨打:concat%%i
回音“%mybar%”>mig.txt
复制ini.txt+mig.txt+final.txt prova2.txt
后藤:eof
:concat
设置“inici=”
设置“mybar=%mybar%%inici%%1%final%”
后藤:eof
生成的XML文件
”
“而不是行
echo "%mybar%" >mig.txt
您可以在for
循环中使用~
从变量中删除引号,如下所示:
(for %%a in ("%mybar%") do echo %%~a )> mig.txt
这应该可以解决您的问题,但显然不能重新格式化生成的XML
set
的输出将是mybar=@echo off
setlocal enableextensions disabledelayedexpansion
设置“openFile=”
(对于(*.pdf)中的/r%%i(
设置“文件=%openFile%%%~fi%closeFile%”
延迟扩展
回声(!文件!
端部
))>mig.txt
复制ini.txt+mig.txt+final.txt prova2.txt
我试过了,但没有成功。它给结果增加了~a。无论如何,谢谢,它在我的机器上工作。你使用的是什么版本的Windows?Windows 7 Home Premium Service Pack 1太棒了!非常感谢。你解决了我后来在初始代码中看到的另一个错误,所以再次感谢。
echo "%mybar%" >mig.txt
(for %%a in ("%mybar%") do echo %%~a )> mig.txt
FOR /f "tokens=1*delims==" %%a IN ('set mybar') DO IF "%%a"=="mybar" >mig.txt ECHO(%%b
@echo off
setlocal enableextensions disabledelayedexpansion
set "openFile=<file indexFlag="False"> <name><![CDATA["
set "closeFile=]]></name><folder><![CDATA[pdfs]]></folder></file>"
(for /r %%i in (*.pdf) do (
set "file=%openFile%%%~fi%closeFile%"
setlocal enabledelayedexpansion
echo(!file!
endlocal
)) > mig.txt
copy inici.txt+mig.txt+final.txt prova2.txt