使用批处理输入多行文本

克里斯多夫

我正在寻找一种使用批处理文件将多行添加到文本文件的方法。我在CNC机床上工作,它有2个方向X(左(-)/右)Y(上)/下(-),它使用文本文件在这些方向上加载。在开始和结束处总是放置几行。

These are at the start:

N1 G17 G90
N3 G54
N5 S3000
N7 M03
N9 F2000

This is at the end

N21 M05
N23 M30

在它们之间,您需要添加一些线条以进行某种绘图N11 G01 X0 Y0 // N编号是它使用的线条,G01是它的慢速运动还是(G00)快速运动(保持不变),然后是X0 Y0,也就是它开始的位置。它总是从X0开始。Y0希望通过在批处理程序中输入多行(不知道多少行)来进行广告。

像tis:

set /p x="left/right = "
set /p y="up/down = "

N1 G17 G90>> file.txt 
N3 G54>> file.txt
N5 S3000>> file.txt
N7 M03>> file.txt
N9 F2000>> file.txt
N11 G01 X%x% Y%y%>>file.txt
N13 G01 X%x% Y%y%>>file.txt //some more different then the last
N15 G01 X%x% Y%y%>>file.txt //some more different then the last

N21 M05>>file.txt
N23 M30>>file.txt

那有可能吗?如果是这样,有人可以尝试解释我该怎么做吗?

动作

您的问题令人困惑。您提供了与该问题无关的几个细节,只是使描述变得混乱。另一方面,您没有提供重要的细节:行是否总是用奇数编号?如果是这样,例如是混乱的,因为它需要始终插入线11 13 15 17 19,所以线N21N23在结束后进入。在这种情况下,行数为五,但是“添加多行(不知道有多少行)”这句话是错误的!难道不是最后一行总是用N21和N23编号,而是用最终编号吗?如何指定运动缓慢(G01)还是快速(G00)?什么时候停下来插入线?哇...:/

无论如何,这是一种可能的解决方案:

@echo off
setlocal

(
echo N1 G17 G90
echo N3 G54
echo N5 S3000
echo N7 M03
echo N9 F2000
) > file.txt

cls
set n=9
:nextLine
echo/
choice /C SFE /M "Slow, Fast or End "
if errorlevel 3 goto endLines

if errorlevel 2 (set "g=00") else set "g=01"
set /p x="left/right = "
set /p y="up/down = "
set /A n+=2
>>file.txt echo N%n% G%g% X%x% Y%y%
goto nextLine

:endLines
set /A n21=n+2, n23=n+4
(
echo N%n21% M05
echo N%n23% M30
) >>file.txt

echo/
type file.txt

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章