批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
[批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
返回列表 发帖

[已解决],20元,批处理加入指定字符。

本帖最后由 liynng 于 2019-12-8 21:14 编辑

文件夹中有很多子文件夹,每个子文件夹中很多.nc格式的文本。
1,在每个文本的第1行下面插入一行M35T1
2,在每个文本中查找最前面以Z开头的行,在前面加入G43H1   注意;只加最前面一行,后面都不用加了。

如;

%
(PROGRAM NAME : A2-1-F03.NC )
(Part: A2-1 )
(DATE=26-11-2019  TIME=14:30:57 )
(T1=D4R2_1_1  D=4.00  R=2.00 )
G17G40G49G80G54
G91G28Z0
G43H0
S12000M03
G00G90X0Y0
Z10.1M08
X-41.706Y-4.33
Z-.748
G01Z-1.948F2000


处理后;

%
M35T1
(PROGRAM NAME : A2-1-F03.NC )
(Part: A2-1 )
(DATE=26-11-2019  TIME=14:30:57 )
(T1=D4R2_1_1  D=4.00  R=2.00 )
G17G40G49G80G54
G91G28Z0
G43H0
S12000M03
G00G90X0Y0
G43H1Z10.1M08
X-41.706Y-4.33
Z-.748
G01Z-1.948F2000

本帖最后由 zaqmlp 于 2019-12-8 20:17 编辑
  1. /*&cls
  2. @echo off
  3. set info=互助互利,支付宝扫码头像,感谢打赏
  4. rem 有问题,可加QQ956535081及时沟通
  5. title %info%
  6. cd /d "%~dp0"
  7. dir /a-d/b/s *.nc|cscript -nologo -e:jscript "%~f0"
  8. :end
  9. title %info%
  10. pause
  11. exit
  12. */
  13. var fso=new ActiveXObject('Scripting.FileSystemObject');
  14. while(!WSH.StdIn.AtEndOfStream){
  15.     var line=WSH.StdIn.ReadLine();
  16.     WSH.echo(line);
  17.     var file=fso.GetFile(line);
  18.     var f1=fso.OpenTextFile(file.Path, 1);
  19.     var flag=true, n=1, arr=[];
  20.     while(!f1.AtEndOfStream){
  21.         var line=f1.ReadLine();
  22.         if(n==1){line=line+'\r\n'+'M35T1';}
  23.         if(line.replace(/^\s*/,'').substring(0,1)=='Z'){
  24.             if(flag){
  25.                 flag=false;arr.push('G43H1'+line);
  26.             }else{arr.push(line);}
  27.         }else{arr.push(line);}
  28.         n++;
  29.     };
  30.     f1.Close();
  31.     var f1=fso.CreateTextFile(file.Path, 2);
  32.     for(var i=0;i<arr.length;i++){
  33.         f1.WriteLine(arr[i]);
  34.     };
  35.     f1.Close();
  36. }
  37. WSH.Echo('Done');
复制代码
提供bat代写,为你省时省力省事,支付宝扫码头像支付
QQ: 956535081

TOP

回复 1# liynng


下载 sed.exe 跟下面的 test.bat 放在待处理的文件夹下
http://bcn.bathome.net/s/tool/index.html?key=sed

test.bat
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "delims=" %%i in ('dir /b /ad') do (
  4.     echo 正在处理文件夹:%%i
  5.     sed -i -e "1s/$/&\nM35T1/" -e "0,/^Z/ s/^Z/G43H1&/" "%%i\*.nc"
  6. )
复制代码
【批处理在线视频分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

我帮忙写的代码不需要付钱,不用找我要支付宝或微信账号。如果一定要给,请到微信群给大家发红吧。

TOP

回复 3# Batcher


  不知道是不是我的问题,你这我处理不出来:lol 上面那人回的可以了。

TOP

回复 4# liynng


问题解决了就好。
如果以后遇到某个代码执行不成功,请参考Q-01的方法:
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ
【批处理在线视频分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

我帮忙写的代码不需要付钱,不用找我要支付宝或微信账号。如果一定要给,请到微信群给大家发红吧。

TOP

返回列表