Board logo

标题: [文本处理] [已解决]求助批处理如何依照a文本数据 生成b文本? [打印本页]

作者: KLL    时间: 2021-11-8 05:37     标题: [已解决]求助批处理如何依照a文本数据 生成b文本?

本帖最后由 KLL 于 2021-11-25 15:45 编辑

a.txt(数据如下)
2317
2330
2882

生成b.txt
SE2317=2317,SYSTEM,NA,KS!2317.130,KS!2317.131,KS!2317.132,KS!2317.124,KS!2317.133,KS!2317.134,0859,1340,1
SE2330=2330,SYSTEM,NA,KS!2330.130,KS!2330.131,KS!2330.132,KS!2330.124,KS!2330.133,KS!2330.134,0859,1340,1
SE2882=2882,SYSTEM,NA,KS!2882.130,KS!2882.131,KS!2882.132,KS!2882.124,KS!2882.133,KS!2882.134,0859,1340,1


谢谢了!
作者: qixiaobin0715    时间: 2021-11-8 09:20

  1. @echo off
  2. set var=SE#=#,SYSTEM,NA,KS!#.130,KS!#.131,KS!#.132,KS!#.124,KS!#.133,KS!#.134,0859,1340,1
  3. setlocal enabledelayedexpansion
  4. (for /f "delims=" %%a in (a.txt) do echo,!var:#=%%a!)>b.txt
  5. pause
复制代码

作者: KLL    时间: 2021-11-8 10:15

您好

运行OK,谢谢您

我学习 学习
作者: KLL    时间: 2021-11-8 11:14

再请教一问题 倘若依a文件 要生成另一格式
如下
a.txt
2317              
2330              
2882              

a文件有几行   生成的R# 随序增加
SE2317=2317,SYSTEM,NA,BOOK1.XLS!R1C2,BOOK1.XLS!R1C3,BOOK1.XLS!R1C4,BOOK1.XLS!R1C5,BOOK1.XLS!R1C6,BOOK1.XLS!R1C7,0900,1330,1
SE2330=2330,SYSTEM,NA,BOOK1.XLS!R2C2,BOOK1.XLS!R2C3,BOOK1.XLS!R2C4,BOOK1.XLS!R2C5,BOOK1.XLS!R2C6,BOOK1.XLS!R2C7,0900,1330,1
SE2882=2882,SYSTEM,NA,BOOK1.XLS!R3C2,BOOK1.XLS!R3C3,BOOK1.XLS!R3C4,BOOK1.XLS!R3C5,BOOK1.XLS!R3C6,BOOK1.XLS!R3C7,0900,1330,1
作者: KLL    时间: 2021-11-8 11:15

再请教一问题 倘若依a文件 要生成另一格式
如下
a.txt
2317              
2330              
2882              

a文件有几行   生成的R# 随序增加
SE2317=2317,SYSTEM,NA,BOOK1.XLS!R1C2,BOOK1.XLS!R1C3,BOOK1.XLS!R1C4,BOOK1.XLS!R1C5,BOOK1.XLS!R1C6,BOOK1.XLS!R1C7,0900,1330,1
SE2330=2330,SYSTEM,NA,BOOK1.XLS!R2C2,BOOK1.XLS!R2C3,BOOK1.XLS!R2C4,BOOK1.XLS!R2C5,BOOK1.XLS!R2C6,BOOK1.XLS!R2C7,0900,1330,1
SE2882=2882,SYSTEM,NA,BOOK1.XLS!R3C2,BOOK1.XLS!R3C3,BOOK1.XLS!R3C4,BOOK1.XLS!R3C5,BOOK1.XLS!R3C6,BOOK1.XLS!R3C7,0900,1330,1
作者: KLL    时间: 2021-11-8 11:16

R1C2   R1C3.........
R2C2   R2C3.........
R3C3   R3C3......
作者: Fit    时间: 2021-11-8 16:50

@echo off&setlocal enabledelayedexpansion
set /a cout=1
(for /f  %%i in (a.txt) do (
     call:RR %%i !cout!
     set /a cout+=1
))>b.txt
pause&EXIT
:RR
echo,SE%1=%1,SYSTEM,NA,BOOK1.XLS!R%2C2,BOOK1.XLS!R%2C3,BOOK1.XLS!R%2C4,BOOK1.XLS!R%2C5,BOOK1.XLS!R%2C6,BOOK1.XLS!R%2C7,0900,1330,1
goto:eof
作者: KLL    时间: 2021-11-8 20:13

您好  运兴后生成了 BOOK1.XLSR1C3
                                                   5
                                                   7

没见到     C2  C4  C6

另 BOOK1.XLS!R1C3

字母S与R中间应有个 !  符号没见到

恳请协助
作者: KLL    时间: 2021-11-8 20:14

SE2317=2317,SYSTEM,NA,BOOK1.XLSR1C3,BOOK1.XLSR1C5,BOOK1.XLSR1C7,0900,1330,1
SE2330=2330,SYSTEM,NA,BOOK1.XLSR2C3,BOOK1.XLSR2C5,BOOK1.XLSR2C7,0900,1330,1
SE2882=2882,SYSTEM,NA,BOOK1.XLSR3C3,BOOK1.XLSR3C5,BOOK1.XLSR3C7,0900,1330,1
作者: Fit    时间: 2021-11-9 11:59

@echo off
set /a cout=1
(for /f  %%i in (a.txt) do (
     call:RR %%i
     set /a cout+=1
))>b.txt
pause&EXIT
:RR
echo,SE%1=%1,SYSTEM,NA,BOOK1.XLS!R%cout%C2,BOOK1.XLS!R%cout%C3,BOOK1.XLS!R%cout%C4,BOOK1.XLS!R%cout%C5,BOOK1.XLS!R%cout%C6,BOOK1.XLS!R%cout%C7,0900,1330,1
goto:eof
作者: KLL    时间: 2021-11-9 21:53

加上 cout%
Ok了  问题已解决 感谢您协助




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2