Board logo

标题: [文本处理] 【已解决】批处理特殊字符添加和加入序号 [打印本页]

作者: a80937063    时间: 2022-4-27 18:48     标题: 【已解决】批处理特殊字符添加和加入序号

本帖最后由 a80937063 于 2022-4-28 15:00 编辑

1.TXT
346.62`, 377.55`, \
342.93`,  3472.92`,  365.15`, \
344.75`,  3441.15`, 342.65`, \
357.75`, 344.85`,  \
346.86`,  341.28`
文本1.txt在每个数字前面加序号和一个特殊符号输出给2.txt
2.txt
1 -> 346.62`, 2 -> 377.55`, 3 -> \
342.93`, 4 -> 3472.92`, 5 -> 365.15`, \
6 -> 344.75`, 7 -> 3441.15`, 8 -> 342.65`, \
9 -> 357.75`, 10 -> 344.85`, 11 -> \
346.86`, 12 -> 341.28`
作者: a80937063    时间: 2022-4-27 18:50

谢谢大神
作者: Batcher    时间: 2022-4-27 18:55

回复 1# a80937063


    每行最多3列吗?
作者: a80937063    时间: 2022-4-27 19:59

回复 3# Batcher


    有挺多不一定的谢谢
作者: a80937063    时间: 2022-4-28 08:17

批处理之家666
作者: went    时间: 2022-4-28 09:54

test.bat
ansi编码
  1. @echo off & cd /d "%~dp0"
  2. setlocal enabledelayedexpansion
  3. REM 输入输出文件
  4. set "in_file=1.txt"
  5. set "out_file=2.txt"
  6. set "index=1"
  7. (
  8. for /f "usebackq delims=" %%i in ("%in_file%") do (
  9. set "line="
  10. for %%a in (%%i) do (
  11. if "%%a"=="\" (
  12. set "line=!line!,%%a"
  13. ) else (
  14. set "line=!line!,!index! -> %%a"
  15. set /a "index+=1"
  16. )
  17. )
  18. echo !line:~1!
  19. )
  20. )>"%out_file%"
  21. pause&exit
复制代码

作者: a80937063    时间: 2022-4-28 15:00

回复 6# went


    谢谢
作者: a80937063    时间: 2022-4-29 15:22

回复 6# went


    你好:
作者: a80937063    时间: 2022-4-30 17:22

本帖最后由 a80937063 于 2022-4-30 17:28 编辑

回复 6# went
(
        for /f "usebackq delims=" %%i in ("%in_file%") do (
                set "line="
                for %%a in (%%i) do (
                        if "%%a"=="\" (
                                set "line=!line!,%%a"
                                set aa=%%a:~0,1%
                                set ab=%%a:~1,2%
                        ) else (
                                set "line=!line!, { %%a %%ab }"
                                set /a "index=1"
                        )
                )
                echo !line:~1!
        )
)>"%out_file%"
pause&exit

怎么输出一下结果啊??? 2个数字在{ }内??
{346.62`,  377.55`},  \
{342.93`,  3472.92`}, { 365.15`, \
344.75`},{ 3441.15`,  342.65`}, \
{357.75`,  344.85`},  \
{346.86`,  341.28`}




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