使用批处理编辑文本文件中的部分文本 [英] edit part of text in text file using batch

查看:85
本文介绍了使用批处理编辑文本文件中的部分文本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个像这样的文件:

i've got a file like this:

N1 G17 G90
N3 G54
N5 S24000
N7 M03
N9 G00 X2675.766 Y427.409 Z730
N11 G00 X2675.766 Y427.409
N13 G00 X2675.766 Y427.409
N15 G00 X2675.766 Y427.409 Z505
N17 F4000
N19 G01 X2675.766 Y427.409 Z447.5
N21 F4000
N23 G01 X2565.966 Y475.823 Z447.5
N25 F4000
N27 G02 X1852.832 Y871.38 Z447.5 I4373.42 J4575.032
N29 G03 X705.065 Y871.38 Z447.5 I1278.948 J28.138
N31 G02 X-8.069 Y475.823 Z447.5 I-1815.523 J4575.032
N33 M05
N35 M30

X和Y可以是普通数(1、2、3、4、5等)或十进制数(1.134、106.304等) 我正在寻找一种将指定数字添加到X和/或Y的方法. 添加的数字与evry行相同. 如果我在X上加上100,则所有带有X的行都应更改为X(数字+ 100). Y也一样

X and Y can be a normal number (1, 2, 3, 4, 5, etc) or a decimal number (1.134, 106.304, etc) I i'm looking for a way to add a specified number to X and/or Y. the added number is the same for evry line. if i add 100 to X all lines with X should changes to the X(number + 100). same goes for Y

X,Y,Z,I,J并不总是在那里 有时候只是 X,Y或X,Y,Z或X,Y,I,J

X, Y, Z, I, J aren't always there sometimes it is just X, Y or X, Y, Z or X, Y, I, J

所以把所有东西放在一起 我需要一个批处理文件,可以在其中向X或Y之后的每个数字添加一个指定的数字.

So to put evrything together i need a batch file where i can add a specified number to every number after X or Y.

推荐答案

@echo off
setlocal EnableDelayedExpansion

for /F "tokens=1-4*" %%a in (input.txt) do (
   if "%%d" equ "" (
      echo %%a %%b %%c
   ) else (
      for /F "tokens=1,2 delims=X." %%C in ("%%c") do (
         set /A X=%%C+200
         if "%%D" neq "" set "X=!X!.%%D"
      )
      for /F "tokens=1,2 delims=Y." %%D in ("%%d") do (
         set /A Y=%%D+100
         if "%%E" neq "" set "Y=!Y!.%%E"
      )
      echo %%a %%b X!X! Y!Y! %%e
   )
)

这篇关于使用批处理编辑文本文件中的部分文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆