批处理修改文件,如何写啊,大侠们??

X8724.91R149.50T7.50I1G00X8724.91Y0W0B27.00M07G06X8499.31A0W352.98B-28.00G06X8504.98A... X8724.91R149.50T7.50I1
G00X8724.91Y0W0B27.00
M07
G06X8499.31A0W352.98B-28.00
G06X8504.98A0W353.98B29.00
G06X8510.64A0W354.98B16.00
G06X8519.58A0W356.56B14.00
G06X8526.80A0W357.56B13.00
G06X8534.02A0W358.56B25.00
G06X8544.44A0W360.00B25.00
M08(以这个M08为分界点,在这个M08前面出现的B*.??一律改为B45.00,后面出现的B*.??一律改为-B45.00,而且是针对一个文件夹中多个这样的gcd文件进行批处理,请问如何实现??
G00X671.06Y0W0B-25.00
M07
G06X671.06A0W0.00B36.00
G06X691.41A0W1.26B78.00
G06X711.66A0W2.48B-25.00
G06X728.38A0W3.48B-35.00
G06X752.41A0W4.92B-25.00
G06X772.91A0W6.13B-15.00
G06X790.02A0W7.13B-25.00
G06X814.08A0W8.54B-25.00
G06X834.77A0W9.73B-25.00
G06X852.11A0W10.73B-25.00
M08
M02
---------------------------------(下面为替换之后的效果)
X8724.91R149.50T7.50I1
G00X8724.91Y0W0B45.00
M07
G06X8499.31A0W352.98B45.00
G06X8504.98A0W353.98B45.00
G06X8510.64A0W354.98B45.00
G06X8519.58A0W356.56B45.00
G06X8526.80A0W357.56B45.00
G06X8534.02A0W358.56B45.00
G06X8544.44A0W360.00B45.00
M08
G00X671.06Y0W0B-45.00
M07
G06X671.06A0W0.00B-45.00
G06X691.41A0W1.26B-45.00
G06X711.66A0W2.48B-45.00
G06X728.38A0W3.48B-45.00
G06X752.41A0W4.92B-45.00
G06X772.91A0W6.13B-45.00
G06X790.02A0W7.13B-45.00
G06X814.08A0W8.54B-45.00
G06X834.77A0W9.73B-45.00
G06X852.11A0W10.73B-45.00
M08
M02
展开
 我来答
CyraSafia
2009-03-25 · TA获得超过1940个赞
知道大有可为答主
回答量:945
采纳率:0%
帮助的人:1277万
展开全部
边界条件判定我不写了
保存成bat之后不要直接双击运行,把所有要处理的文件拖到批处理上(可以一次拖多个)
然后会在批处理所在目录下产生对应的文件

比如原来的文件叫abc.gcd,产生的文件就叫abc_replaced.gcd

另外,文件名有空格会出错,文件中含有敏感字符><|!%等会出错,文件中含有其他B字符会出错,文件中含有超过一个的M08只认第一个...

@echo off
setlocal enabledelayedexpansion
cd /d %~dp0
:loop
cd.>%~n1_replaced%~x1
set str=45.00
for /f "delims=B tokens=1,2" %%a in (%1) do (
if "%%a"=="M08" (
set str=-45.00
)
call:replace "%%a" "%%b" "!str!" "%~n1_replaced%~x1"
)
if not "%2"=="" (
shift
goto:loop
)

exit /b

:replace
if "%~1"=="" (
echo.>>%~4
exit /b
)
if "%~2"=="" (
echo %~1>>%~4
exit /b
)
echo %~1B%~3>>%~4
exit /b
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式