找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 1079|回复: 5

[文本处理] 请教想把文本里内容每2行,生成xml文件里一组信息,递增

[复制链接]
发表于 2026-1-14 09:50:55 | 显示全部楼层 |阅读模式
文本 1.txt    内容如下
itif1304@yopmail.com
1304     // 这两行生成在xml文件里101这组 //
fdse8584@yopmail.com
8584    //这两行生成在xml文件里102这组,具体看下面 xml   举例
ysdh7966@yopmail.com
7966        // 这文本5行6行,生成103..以下7行8行生成104一直递增提取文本里的信息完生成到2.xml为止.//
ydsh6076@yopmail.com
6076
hiry5092@yopmail.com
5092
zfnl1820@yopmail.com
1820
tixy5865@yopmail.com
5865
wgvy5179@yopmail.com
5179
odty4917@yopmail.com
4917




想生成到这个文件里 2.xml   内容举例如下

<Rule>
    <Id>101</Id>
    <Name>1304</Name>
    <Continue>False</Continue>
    <CheckExisted>False</CheckExisted>
    <Enabled>True</Enabled>
    <Condition>
      <Field>8</Field>
      <Relation>2</Relation>
      <Key>1304</Key>
      <AndOr>0</AndOr>
      <CaseSensitive>False</CaseSensitive>
    </Condition>
    <Action>
      <Action>5</Action>
      <ForwardTo>itif1304@yopmail.com</ForwardTo>
      <ForwardFrom>
      </ForwardFrom>
      <Reply>
      </Reply>
      <FolderName>
      </FolderName>
      <Url>
      </Url>
      <ayload>
      </Payload>
      <ApiKey>
      </ApiKey>
      <ClickUrl>
      </ClickUrl>
      <ClickByBrowser>False</ClickByBrowser>
      <ClickWithProxy>False</ClickWithProxy>
      <ClickInterval>1000</ClickInterval>
      <ExportAttachTo>
      </ExportAttachTo>
      <ExportAttachFileName>
      </ExportAttachFileName>
      <ExportImageTo>
      </ExportImageTo>
      <ExportImageFileName>
      </ExportImageFileName>
      <ExportImageType>-1</ExportImageType>
      <ExportImageFields>
      </ExportImageFields>
      <MoveToGroupId>0</MoveToGroupId>
      <AlertGroupKey>0</AlertGroupKey>
      <EnableTip>True</EnableTip>
      <EnableSound>True</EnableSound>
      <DefaultSound>True</DefaultSound>
      <SoundFile>
      </SoundFile>
      <ExportFields>
      </ExportFields>
      <HttpApiEncrypted>True</HttpApiEncrypted>
      <HttpApiShortLink>False</HttpApiShortLink>
      <HttpApiPass>
      </HttpApiPass>
      <HttpApiPageTitle>
      </HttpApiPageTitle>
      <EnableHttpApiPass>False</EnableHttpApiPass>
      <HttpApiSetAsRead>False</HttpApiSetAsRead>
      <Read>True</Read>
      <;PdfExportTo>
      </PdfExportTo>
      <;PdfExportFileName>
      </PdfExportFileName>
      <;PdfExportType>0</PdfExportType>
      <;PdfExportFields>
      </PdfExportFields>
      <;PdfExportPageStart>
      </PdfExportPageStart>
      <;PdfExportPageEnd>
      </PdfExportPageEnd>
      <;PdfKeys>
      </PdfKeys>
      <;PdfKeyRel>0</PdfKeyRel>
      <ExportMailTo>
      </ExportMailTo>
      <ExportMailFormat>-1</ExportMailFormat>
      <ExportMailFilename>
      </ExportMailFilename>
      <ExportMailFields>
      </ExportMailFields>
    </Action>
  </Rule>
  <Rule>
    <Id>102</Id>
    <Name>8584</Name>
    <Continue>False</Continue>
    <CheckExisted>False</CheckExisted>
    <Enabled>True</Enabled>
    <Condition>
      <Field>8</Field>
      <Relation>2</Relation>
      <Key>8584</Key>
      <AndOr>0</AndOr>
      <CaseSensitive>False</CaseSensitive>
    </Condition>
    <Action>
      <Action>5</Action>
      <ForwardTo>fdse8584@yopmail.com</ForwardTo>
      <ForwardFrom>
      </ForwardFrom>
      <Reply>
      </Reply>
      <FolderName>
      </FolderName>
      <Url>
      </Url>
      <;Payload>
      </Payload>
      <ApiKey>
      </ApiKey>
      <ClickUrl>
      </ClickUrl>
      <ClickByBrowser>False</ClickByBrowser>
      <ClickWithProxy>False</ClickWithProxy>
      <ClickInterval>1000</ClickInterval>
      <ExportAttachTo>
      </ExportAttachTo>
      <ExportAttachFileName>
      </ExportAttachFileName>
      <ExportImageTo>
      </ExportImageTo>
      <ExportImageFileName>
      </ExportImageFileName>
      <ExportImageType>-1</ExportImageType>
      <ExportImageFields>
      </ExportImageFields>
      <MoveToGroupId>0</MoveToGroupId>
      <AlertGroupKey>0</AlertGroupKey>
      <EnableTip>True</EnableTip>
      <EnableSound>True</EnableSound>
      <DefaultSound>True</DefaultSound>
      <SoundFile>
      </SoundFile>
      <ExportFields>
      </ExportFields>
      <HttpApiEncrypted>True</HttpApiEncrypted>
      <HttpApiShortLink>False</HttpApiShortLink>
      <HttpApiPass>
      </HttpApiPass>
      <HttpApiPageTitle>
      </HttpApiPageTitle>
      <EnableHttpApiPass>False</EnableHttpApiPass>
      <HttpApiSetAsRead>False</HttpApiSetAsRead>
      <Read>False</Read>
      <;PdfExportTo>
      </PdfExportTo>
      <;PdfExportFileName>
      </PdfExportFileName>
      <;PdfExportType>0</PdfExportType>
      <;PdfExportFields>
      </PdfExportFields>
      <;PdfExportPageStart>
      </PdfExportPageStart>
      <;PdfExportPageEnd>
      </PdfExportPageEnd>
      <;PdfKeys>
      </PdfKeys>
      <;PdfKeyRel>0</PdfKeyRel>
      <ExportMailTo>
      </ExportMailTo>
      <ExportMailFormat>-1</ExportMailFormat>
      <ExportMailFilename>
      </ExportMailFilename>
      <ExportMailFields>
      </ExportMailFields>
    </Action>
  </Rule>

能明白吗,文本里的信息每2行递增编号生成完整信息到2.xml 里面

能帮帮我吗?怎么写这个批处理
发表于 2026-1-14 11:41:08 | 显示全部楼层
回复 1# 649918043

要看一下 2.xml 文件被插入 1.txt 行数据之前的原始格式,尤其是 <name>, <key>, <forwardTo> 这些标签行...
发表于 2026-1-14 12:35:16 | 显示全部楼层
回复 1# 649918043

假设 2.xml 源文件中 <name>, <key>, <forwardto> 标签行格式如下:
...
<Name>
</Name>
...
<Key>
</Key>
...
<ForwardTo>
</ForwardTo>
...
可用以下批处代码,存为 test.bat, 与 1.txt, 2.xml 两个源文件同目录,处理结果存为 2.new.xml 文件...

  1. @echo off &setlocal enabledelayedexpansion
  2. (for /f "delims=" %%a in (2.xml) do (
  3.    set "s=%%a" &set "go=1"
  4.    if "!s:name>=!"=="!s!" if "!s:forwardTo>=!"=="!s!" if "!s:key>=!"=="!s!" set "go=" &echo,!s!
  5.    if defined go (
  6.       if "!s:<name>=!" neq "!s!" (set/p "v1=" &set/p "v2=")
  7.       for /f "delims=>" %%x in ("!s!") do if "!s:<name>=!" neq "!s!" (echo,%%x^>!v2!^</Name^>) else if "!s:<key>=!" neq "!s!" (echo,%%x^>!v2!^</Key^>) else if "!s:<forwardTo>=!" neq "!s!" (echo,%%x^>!v1!^</ForwardTo^>)
  8.       set "go=1")
  9. ))>2.new.xml <1.txt
  10. pause&exit/b
复制代码
 楼主| 发表于 2026-1-14 13:40:41 | 显示全部楼层
帮帮忙~~~~~~~~~~~
发表于 2026-1-14 14:11:06 | 显示全部楼层
回复 4# 649918043
运行3楼代码的结果如何?如有误,请详细说明,并回复2楼的问题...
发表于 2026-1-18 14:18:33 | 显示全部楼层
  1. @echo off
  2. cd /d "%~dp0"
  3. set num=100
  4. set str1=
  5. (for /f "useback delims=" %%a in ("1.txt") do (
  6.         if not defined str1 (
  7.                 set str1=%%a
  8.         ) else (
  9.                 set str2=%%a
  10.                 set /a num+=1
  11.                 call :1
  12.                 set str1=
  13.         )
  14. )) > "2.xml"
  15. pause
  16. exit


  17.                 :1
  18.                 echo   ^<Rule^>
  19.                 echo     ^<Id^>%num%^</Id^>
  20.                 echo     ^<Name^>%str2%^</Name^>
  21.                 echo     ^<Continue^>False^</Continue^>
  22.                 echo     ^<CheckExisted^>False^</CheckExisted^>
  23.                 echo     ^<Enabled^>True^</Enabled^>
  24.                 echo     ^<Condition^>
  25.                 echo       ^<Field^>8^</Field^>
  26.                 echo       ^<Relation^>2^</Relation^>
  27.                 echo       ^<Key^>%str2%^</Key^>
  28.                 echo       ^<AndOr^>0^</AndOr^>
  29.                 echo       ^<CaseSensitive^>False^</CaseSensitive^>
  30.                 echo     ^</Condition^>
  31.                 echo     ^<Action^>
  32.                 echo       ^<Action^>5^</Action^>
  33.                 echo       ^<ForwardTo^>%str1%^</ForwardTo^>
  34.                 echo       ^<ForwardFrom^>
  35.                 echo       ^</ForwardFrom^>
  36.                 echo       ^<Reply^>
  37.                 echo       ^</Reply^>
  38.                 echo       ^<FolderName^>
  39.                 echo       ^</FolderName^>
  40.                 echo       ^<Url^>
  41.                 echo       ^</Url^>
  42.                 echo       ^<;payload^>
  43.                 echo       ^</Payload^>
  44.                 echo       ^<ApiKey^>
  45.                 echo       ^</ApiKey^>
  46.                 echo       ^<ClickUrl^>
  47.                 echo       ^</ClickUrl^>
  48.                 echo       ^<ClickByBrowser^>False^</ClickByBrowser^>
  49.                 echo       ^<ClickWithProxy^>False^</ClickWithProxy^>
  50.                 echo       ^<ClickInterval^>1000^</ClickInterval^>
  51.                 echo       ^<ExportAttachTo^>
  52.                 echo       ^</ExportAttachTo^>
  53.                 echo       ^<ExportAttachFileName^>
  54.                 echo       ^</ExportAttachFileName^>
  55.                 echo       ^<ExportImageTo^>
  56.                 echo       ^</ExportImageTo^>
  57.                 echo       ^<ExportImageFileName^>
  58.                 echo       ^</ExportImageFileName^>
  59.                 echo       ^<ExportImageType^>-1^</ExportImageType^>
  60.                 echo       ^<ExportImageFields^>
  61.                 echo       ^</ExportImageFields^>
  62.                 echo       ^<MoveToGroupId^>0^</MoveToGroupId^>
  63.                 echo       ^<AlertGroupKey^>0^</AlertGroupKey^>
  64.                 echo       ^<EnableTip^>True^</EnableTip^>
  65.                 echo       ^<EnableSound^>True^</EnableSound^>
  66.                 echo       ^<DefaultSound^>True^</DefaultSound^>
  67.                 echo       ^<SoundFile^>
  68.                 echo       ^</SoundFile^>
  69.                 echo       ^<ExportFields^>
  70.                 echo       ^</ExportFields^>
  71.                 echo       ^<HttpApiEncrypted^>True^</HttpApiEncrypted^>
  72.                 echo       ^<HttpApiShortLink^>False^</HttpApiShortLink^>
  73.                 echo       ^<HttpApiPass^>
  74.                 echo       ^</HttpApiPass^>
  75.                 echo       ^<HttpApiPageTitle^>
  76.                 echo       ^</HttpApiPageTitle^>
  77.                 echo       ^<EnableHttpApiPass^>False^</EnableHttpApiPass^>
  78.                 echo       ^<HttpApiSetAsRead^>False^</HttpApiSetAsRead^>
  79.                 echo       ^<Read^>True^</Read^>
  80.                 echo       ^<;PdfExportTo^>
  81.                 echo       ^</PdfExportTo^>
  82.                 echo       ^<;PdfExportFileName^>
  83.                 echo       ^</PdfExportFileName^>
  84.                 echo       ^<;PdfExportType^>0^</PdfExportType^>
  85.                 echo       ^<;PdfExportFields^>
  86.                 echo       ^</PdfExportFields^>
  87.                 echo       ^<;PdfExportPageStart^>
  88.                 echo       ^</PdfExportPageStart^>
  89.                 echo       ^<;PdfExportPageEnd^>
  90.                 echo       ^</PdfExportPageEnd^>
  91.                 echo       ^<;PdfKeys^>
  92.                 echo       ^</PdfKeys^>
  93.                 echo       ^<;PdfKeyRel^>0^</PdfKeyRel^>
  94.                 echo       ^<ExportMailTo^>
  95.                 echo       ^</ExportMailTo^>
  96.                 echo       ^<ExportMailFormat^>-1^</ExportMailFormat^>
  97.                 echo       ^<ExportMailFilename^>
  98.                 echo       ^</ExportMailFilename^>
  99.                 echo       ^<ExportMailFields^>
  100.                 echo       ^</ExportMailFields^>
  101.                 echo     ^</Action^>
  102.                 echo   ^</Rule^>
  103.                 exit /b
复制代码

真难理解...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 07:06 , Processed in 0.019145 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表