批处理(bat)命令修改xml模板数据
给定一个模板,然后通过bat修改某个节点中的值
模板如下:
<?xml version="1.0" encoding="UTF-16"?> <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> <UserInfo>${userInfo.version}</UserInfo> </Task>
然后通过bat脚本来进行修改UserInfo中的节点数据
@echo off rem 进入当前路径 cd /d %~dp0 rem 设置 set UserInfo=我是koalin rem 禁用本地全局延迟变量 setlocal DisableDelayedExpansion set FileName=Template.xml set FileNameTmp=TemplaterTmp.xml set UserInfoKey=${userInfo.version} rem 循环遍历当前工作目录和子目录中的所有xml文件并读取文件内容 ( for /F "usebackqdelims=" %%b in (%FileName%) do ( set str=%%b rem 启用本地延迟变量 setlocal enabledelayedexpansion rem 替换文件内容 set "str=!str:%UserInfoKey%=%UserInfo%!" rem 输出到临时文件 echo,!str! endlocal) ) >"%FileName%%.tmp" rem 使用生成的临时文件替换源文件 move "%FileName%%.tmp%.tmp" "%FileNameTmp%%" >nul 2>nul timeout /t 1 >nul 2>nul
通过以上的代码就可以修改模板了
bat其他知识
1. set var=%var:~1,-1% 去掉var变量值外的两个引号
2. 外部传入的参数 %1 表示传入的第一个参数 %2 表示传入的第二个参数,参数是用空格隔开 如果第一个参数中包含了空格,需要使用" " 包起来
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南