使用批处理,对txt文档进行处理。要求如下: 1.将此txt文档拖入cmd窗口; 2.读取txt文档,逐行分成元素,分隔符为“,”; 3.获取txt文档行数,减去1,得到参数Txt_lines; 4.获取txt文档第Txt_lines行第一个元素的长度,得到参数Txt_lines_length; 5.获取txt文档每一行第一个元素的长度,比Txt_lines_length少多少,就在该行第一个元素第一个字符后增加多少个“0”; 6.将txt文档每一行第二个元素设为“1”; 7.将txt文档每一行第三个元素前增加“3”; 8.将txt文档每一行第四个元素前增加“83”; 9.输入一个带小数点的数字,得到参数mj; 10.在txt文档开头处新增以下内容: [描述] 大哥=北京1986年 二哥=3 三哥=上海 四哥=龙 五哥=25 六哥=0.001 七哥=,,,,,, [啥玩意] Txt_lines,mj,哥哥1,妹,,,,@ 11.生成修改后的txt文档。
时间: 2024-03-05 11:51:29 浏览: 62
好的,您可以使用以下代码实现对txt文档的处理:
```
@echo off
setlocal enabledelayedexpansion
REM 步骤1:将txt文档拖入cmd窗口,并读取文件名
set /p file="请将txt文档拖入此处并按回车键:"
set filename=%~n1
set extension=%~x1
REM 步骤2:逐行读取txt文档,分隔符为“,”
for /f "tokens=*" %%a in (%file%) do (
set line=%%a
for /f "tokens=1,* delims=," %%b in ("!line!") do (
set column1=%%b
set column2=%%c
set column3=%%d
set column4=%%e
set column5=%%f
set column6=%%g
set column7=%%h
)
REM 步骤3:获取txt文档行数,减去1,得到参数Txt_lines
set /a Txt_lines=!Txt_lines!+1
)
set /a Txt_lines=!Txt_lines!-1
REM 步骤4:获取txt文档第Txt_lines行第一个元素的长度,得到参数Txt_lines_length
set i=0
for /f "tokens=* skip=%Txt_lines% delims=," %%a in (%file%) do (
set line=%%a
for /f "tokens=1,* delims=," %%b in ("!line!") do (
set column1=%%b
set Txt_lines_length=!i!
goto :next
)
)
:next
REM 步骤5:获取txt文档每一行第一个元素的长度,比Txt_lines_length少多少,就在该行第一个元素第一个字符后增加多少个“0”
for /f "tokens=*" %%a in (%file%) do (
set line=%%a
for /f "tokens=1,* delims=," %%b in ("!line!") do (
set column1=%%b
set /a length_diff=!Txt_lines_length!-!column1!
set zeroes=
for /l %%i in (1,1,!length_diff!) do set zeroes=!zeroes!0
set modified_line=!modified_line!!zeroes!!line:*,=!
)
set modified_file=!modified_file!!modified_line!\n
set modified_line=
)
REM 步骤6:将txt文档每一行第二个元素设为“1”
set modified_file=
for /f "tokens=*" %%a in (%file%) do (
set line=%%a
set modified_line=
for /f "tokens=1,* delims=," %%b in ("!line!") do (
set column1=%%b
set column2=1
set column3=%%d
set column4=%%e
set modified_line=!column1!,!column2!,!column3!,!column4!,!column5!,!column6!,!column7!
)
set modified_file=!modified_file!!modified_line!\n
)
REM 步骤7:将txt文档每一行第三个元素前增加“3”
set modified_file=
for /f "tokens=*" %%a in (%file%) do (
set line=%%a
set modified_line=
for /f "tokens=1,* delims=," %%b in ("!line!") do (
set column1=%%b
set column2=%%c
set column3=3!%%d
set column4=%%e
set modified_line=!column1!,!column2!,!column3!,!column4!,!column5!,!column6!,!column7!
)
set modified_file=!modified_file!!modified_line!\n
)
REM 步骤8:将txt文档每一行第四个元素前增加“83”
set modified_file=
for /f "tokens=*" %%a in (%file%) do (
set line=%%a
set modified_line=
for /f "tokens=1,* delims=," %%b in ("!line!") do (
set column1=%%b
set column2=%%c
set column3=%%d
set column4=83!%%e
set modified_line=!column1!,!column2!,!column3!,!column4!,!column5!,!column6!,!column7!
)
set modified_file=!modified_file!!modified_line!\n
)
REM 步骤9:输入一个带小数点的数字,得到参数mj
set /p mj="请输入一个带小数点的数字:"
REM 步骤10:在txt文档开头处新增以下内容
set new_file=[描述] 大哥=北京1986年 二哥=3 三哥=上海 四哥=龙 五哥=25 六哥=0.001 七哥=,,,,,, [啥玩意] Txt_lines,mj,哥哥1,妹,,,,@\n!modified_file!
REM 步骤11:生成修改后的txt文档
echo %new_file% > %filename%_modified%extension%
echo 修改完成!
pause
```
使用方法:
1. 将以上代码复制到记事本中,另存为批处理文件(例如modify.bat)。
2. 将需要处理的txt文档拖入该批处理文件所在的文件夹中。
3. 双击运行该批处理文件,按照提示输入一个带小数点的数字。
4. 处理完成后,会生成一个以“_modified”结尾的新txt文档。
注意事项:
1. 本方法只适用于txt文档,对于其他格式的文档不适用。
2. 由于需要读取和修改txt文档,建议在测试阶段仅对备份文件进行操作。
3. 如果txt文档中存在空行或格式不规范等情况,可能会导致程序出错,请自行调整代码或修改文档格式。
阅读全文