标题: [文本处理] [已解决]bat批处理把文本行列二次分散到字符,修改后再二次集中为文本? [打印本页]
作者: zzz19760225 时间: 2023-4-12 14:06 标题: [已解决]bat批处理把文本行列二次分散到字符,修改后再二次集中为文本?
1.txt
123
456
789
文本1.txt,三行分别是123,456,789。
批处理操作,一次将各行输出到一个新文本。
1.1.txt
123
1.2.txt
456
1.3.txt
789
然后二次处理,将每个行文本,分为单个字符,再输出为文本。
1.1.1.txt
1
1.1.2.txt
2
1.1.3.txt
3
1.2.1.txt
4
1.2.2.txt
5
1.2.3.txt
6
1.3.1.txt
7
1.3.2.txt
8
1.3.3.txt
9
修改其中一个文件内容5,修改为0。
echo:0 > 1.2.2.txt
然后将这些文件,按照文件名字规律,再集中成大概行列的文本 1.txt。
1.txt
123
406
789
假设为一个太极空间体聚散,圈层级分散为微观气态单元,发生交换变化后,然后又集中聚成一个太极体。
这是一个关键需求,提供想法,思路,程序编码,统统都可以,来者不拒。
作者: 77七 时间: 2023-4-12 15:30
- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('dir /b /a-d *.txt') do (
- set /a n1=n3=0
- for /f "delims=" %%b in ('type "%%a"') do (
- set "str1=%%b"
- set /a n1+=1,n2=0
- for /l %%m in (0,1,30) do (
- if not "!str1:~%%m,1!" equ "" (
- set /a n2+=1,n3+=1
- >>"%%~na.!n1!.!n2!%%~xa" echo !str1:~%%m,1!
- )
- )
- if !n2! geq !n3! (
- set n3=!n2!
- )
- )
- >1.2.2.txt echo 0
- for /l %%p in (1,1,!n1!) do (
- set "str3="
- for /l %%q in (1,1,!n3!) do (
- if exist "%%~na.%%p.%%q%%~xa" (
- set /p str2=<"%%~na.%%p.%%q%%~xa"
- set "str3=!str3!!str2!"
- )
- )
- >>"%%~na-#%%~xa" echo !str3!
- )
- )
- endlocal
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |