2017-01-23 92 views
-2

我正在寻找一种方法来使用批处理文件将多行添加到文本文件。 (左( - )/右)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 
之间u需要添加一些行来使一种绘图 N11 G01 X0 Y0的

// N个是它使用了线,G01是如果它的缓慢或(G00)快速运动(保持不变),然后X0 Y0就是它的起始位置。 它始终以X0 Y0 从那里开始o我希望能够通过在批处理程序中输入多行(不知道有多少行)。

像那朵:

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 

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

+1

是的,这是可以做到的。 .. – Aacini

+0

奥克,这有点愚蠢的我...,改变了职位,所以你也有解决我的问题吗? :) –

回答

1

你的问题很混乱。你提供了几个与问题无关的细节,但只是使其描述混乱。另一方面,你做而不是给出了重要的细节:是否总是用奇数编号的行?如果是的话,这个例子令人困惑,因为它需要总是插入行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 
+0

我很抱歉混淆了我的问题,我不习惯英文,但那完全是我需要的扫管笏。 前5行是启动机器引擎和移动东西的线, X,Y是它可以在 中移动的方向,最后2行是关掉的 “N”只是指明在该机器的哪一行上, 它标准设置为+2,所以如果你想添加一行之间还有地方添加一行手册:) 谢谢你的帖子,这真的帮了我。 –

+0

我试过在旧电脑上运行它,但是它不想工作? 任何想法的whati可以做到这一点? –

0

对于第一线使用echo "line 1">file.txt 为休息使用echo "otherlines" >>file.txt