Windows XP下如何用批处理为CNC程序文本文件添加行号
嘿,作为新手能自己生成CNC程序已经很棒了!给文本加行号这个需求用批处理完全能实现,我给你写个现成的脚本,你直接套用就行~
步骤说明
- 把你生成的CNC程序保存成一个文本文件,比如命名为
input.txt - 新建一个批处理文件(比如叫
AddLineNumbers.bat),把下面的代码粘贴进去 - 把文本文件和批处理放在同一个文件夹,双击批处理就能生成带行号的文件啦!
批处理脚本代码
@echo off setlocal enabledelayedexpansion :: 这里可以修改输入输出文件名 set "inputFile=input.txt" set "outputFile=output.txt" :: 初始化行号计数器,从0开始 set "lineNum=0" :: 清空已存在的输出文件(避免重复内容) type nul > "%outputFile%" :: 逐行读取输入文件并添加行号 for /f "delims=" %%a in ('type "%inputFile%"') do ( echo !lineNum! %%a >> "%outputFile%" set /a lineNum+=1 ) echo 行号添加完成!结果已保存到 %outputFile% pause
代码简单解释(新手友好版)
@echo off:让命令窗口只显示结果,不显示执行的命令,看起来更干净setlocal enabledelayedexpansion:让循环里的行号变量能实时更新,不然行号会一直是0for /f "delims=" %%a in ('type "%inputFile%"'):逐行读取你的CNC程序文本,delims=确保整行内容都被读取,不会因为空格被截断!lineNum! %%a:把当前行号和行内容拼在一起,写入输出文件set /a lineNum+=1:每处理一行,行号自动加1
效果对比
原CNC程序(input.txt):
BEGIN PGM OM11 MM
CALL LBL 101
M323
CYCL DEF 247 DEF. ZERO PEZZO Q339=+1 ; NUMERO ORIGINE
CALL PGM TNC:\master\master-1\001 hdh code masolata.H
CALL PGM TNC:\master\master-1\002 hdh code msolata msolata.h
CALL PGM TNC:\master\master-1\003 hdh code1.H
CALL PGM TNC:\master\master-1\004 hdh code2.h
;
M323
END PGM OM11 MM
处理后的结果(output.txt):
0 BEGIN PGM OM11 MM
1 CALL LBL 101
2 M323
3 CYCL DEF 247 DEF. ZERO PEZZO Q339=+1 ; NUMERO ORIGINE
4 CALL PGM TNC:\master\master-1\001 hdh code masolata.H
5 CALL PGM TNC:\master\master-1\002 hdh code msolata msolata.h
6 CALL PGM TNC:\master\master-1\003 hdh code1.H
7 CALL PGM TNC:\master\master-1\004 hdh code2.h
8 ;
9 M323
10 END PGM OM11 MM
内容的提问来源于stack exchange,提问作者Tamas

