批处理 生成 xml 文件 参考样版修改 bat
::这是需要的效果,只列出两个文件夹,::如果有更多文件夹时要自动增加<Class=文件夹x>和</Class><List><Class=文件夹1><--这行要增加<Cl...
::这是需要的效果,只列出两个文件夹,
::如果有更多文件夹时要自动增加 <Class=文件夹x> 和 </Class>
<List>
<Class=文件夹1> <-- 这行要增加
<ClassName="文件1" Pic="文件夹1\文件1.txt">
文件1
</ClassNode>
<ClassName="文件2" Pic="文件夹1\文件2.txt">
文件2
</Class> <-- 这行要增加
<-- 增加空行
<Class=文件夹2> <-- 这行要增加
</ClassNode>
<ClassName="文件3" Pic="文件夹2\文件3.txt">
文件3
</ClassNode>
<ClassName="文件4" Pic="文件夹2\文件4.txt">
文件4
</Class> <-- 这行要增加
</List>
::将下面内容保存为批处理,然后运行会看到效果! 这个效果需要修改!
@echo off
color 2f
title 生成 xml !
md 文件夹1
md 文件夹2
echo. >>文件夹1\文件1.txt
echo. >>文件夹1\文件2.txt
echo. >>文件夹2\文件3.txt
echo. >>文件夹2\文件4.txt
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
echo.^<List^> >List.xml
setlocal enabledelayedexpansion
for /r %%i in (*.txt) do (
set s=%%i
set d=!s:%~dp0=!
echo ^<ClassName="%%~ni" Pic="!d!"^>
echo %%~ni
echo ^</ClassNode^>) >>List.xml
echo. >>List.xml
echo.^</List^> >>List.xml
start notepad List.xml
!..................................!
回答者没有看清我的题目,我是文件夹中有文本文件。
然后将文件夹中的文件写入到 xml 中。
时间过了很久,自己已经解决这个问题了,还是感谢你的回答,分照样奖给你。 展开
::如果有更多文件夹时要自动增加 <Class=文件夹x> 和 </Class>
<List>
<Class=文件夹1> <-- 这行要增加
<ClassName="文件1" Pic="文件夹1\文件1.txt">
文件1
</ClassNode>
<ClassName="文件2" Pic="文件夹1\文件2.txt">
文件2
</Class> <-- 这行要增加
<-- 增加空行
<Class=文件夹2> <-- 这行要增加
</ClassNode>
<ClassName="文件3" Pic="文件夹2\文件3.txt">
文件3
</ClassNode>
<ClassName="文件4" Pic="文件夹2\文件4.txt">
文件4
</Class> <-- 这行要增加
</List>
::将下面内容保存为批处理,然后运行会看到效果! 这个效果需要修改!
@echo off
color 2f
title 生成 xml !
md 文件夹1
md 文件夹2
echo. >>文件夹1\文件1.txt
echo. >>文件夹1\文件2.txt
echo. >>文件夹2\文件3.txt
echo. >>文件夹2\文件4.txt
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
echo.^<List^> >List.xml
setlocal enabledelayedexpansion
for /r %%i in (*.txt) do (
set s=%%i
set d=!s:%~dp0=!
echo ^<ClassName="%%~ni" Pic="!d!"^>
echo %%~ni
echo ^</ClassNode^>) >>List.xml
echo. >>List.xml
echo.^</List^> >>List.xml
start notepad List.xml
!..................................!
回答者没有看清我的题目,我是文件夹中有文本文件。
然后将文件夹中的文件写入到 xml 中。
时间过了很久,自己已经解决这个问题了,还是感谢你的回答,分照样奖给你。 展开
1个回答
推荐于2016-05-31
展开全部
1
2
3
4
5
6
7
8
9
10
@Echo Off&Setlocal Enabledelayedexpansion
For /f "tokens=*" %%i in (2.xml) do (
Set str=
For /f "tokens=1-5* delims== " %%j in ("%%i") do (
If "%%j"=="<TaskScheduleConfig" (Set str= %%j %%k="2" %%m="3" %%o)
)
If defined str (Echo !str!) else (Echo %%i)
If defined str (Echo !str!) else (Echo %%i)>>2_new.xml
)
Pause
假设2.xml内容为:
<xml>
<TaskScheduleConfig Times="1" TimesType="2" />
<xml>
2
3
4
5
6
7
8
9
10
@Echo Off&Setlocal Enabledelayedexpansion
For /f "tokens=*" %%i in (2.xml) do (
Set str=
For /f "tokens=1-5* delims== " %%j in ("%%i") do (
If "%%j"=="<TaskScheduleConfig" (Set str= %%j %%k="2" %%m="3" %%o)
)
If defined str (Echo !str!) else (Echo %%i)
If defined str (Echo !str!) else (Echo %%i)>>2_new.xml
)
Pause
假设2.xml内容为:
<xml>
<TaskScheduleConfig Times="1" TimesType="2" />
<xml>
追问
.........................................
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询