batch-file - 提取 XML 文件中两个单词之间的文本行
问题描述
我正在尝试编写一个简单的批处理来从 xml 文件中提取一些特定的文本。
该文件总是在同一个地方,我需要提取的文本是一个 UNC 路径,所以总是会有所不同,但总是在相同的点之间:-
从文件的内容(如下)中,我想在 2 个服务器路径条目之间回显 C:\Somefolder\somewhere
<?xml version="1.0" encoding="utf-8"?>
<ClientConfigurationFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ServerPath>C:\somefolder\somewhere</ServerPath>
我环顾四周,发现类似但没有什么完全符合我的需要。还尝试调整我在其他批次中拥有的一些现有标记。
@echo off
FOR /F "tokens=1 delims= " %%A IN (C:\Test\file.xml) DO SET FOLDER=%%A
echo %FOLDER%
pause
我已经尝试过了,但我不认为我在钱上 delims 是我想要提取的行前的 2 个空格,但是令牌 1,2 或 3 并没有产生预期的结果。
我只想运行我的批处理并回显 ServerPath 和 ServerPath 之间的路径
感谢您的任何帮助。
解决方案
批处理不是处理 XML 文件的正确选择,但如果格式已知,则可以:
for /f "tokens=3 delims=<>" %%a in ('find "<ServerPath>" "C:\Test\file.xml"') do set "Serverpath=%%a"
echo %serverpath%
注意:这适用于与您的问题中显示的文件完全相同的文件。XML
如果文件的格式发生更改,则无法保证正确的结果。
推荐阅读
- aws-lambda - Lambda 函数中的 sessionId 可以是 Alexa 技能的 ID?
- css - 无法完全覆盖 MUI TableCell 中的顶部和底部填充以使整个单元格内容可点击
- reactjs - 单元测试反应动作创建者 thunk
- python - 创建管理对象列表的python类以及如何包含在UML图中的最佳实践
- python - Django 计算字段 Save()
- javascript - 使用 Oruga 和 Vue3 时缺少模板或渲染功能
- c++ - Registered I/O 仍然是 WIN32 网络应用程序的好选择吗?
- python - 如何消除熊猫数据框中的闰年
- css - 滚动条在 Chrome 上不显示
- java - 如果我向 application.properties 添加任何值,Spring Boot 项目会崩溃