[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 【已解决】如何用批处理删除一批文件中的某些特定字符 含空格?

%00001
N1 G90 G80 G00 G17 G40 M23
N2 G43 H01 Z1. S20000 M03
N3 Z1.
N4
N5 G00 X-2.997 Y0.001 Z10.000 F3000
N6 G00 X-2.997 Y0.001 Z1.000 F1000
N7 G01 X-2.997 Y0.001 Z0.000F100
N8 G01 X-3.000 Y0.609 Z0.000F3000
N9 G01 X-3.000 Y0.609 Z0.000
N10 G01 X-3.010 Y1.216 Z0.000
N11 G01 X-3.026 Y1.823 Z0.000



N23018 G01 X326.795 Y79.625 Z0.000
N23019 G01 X326.818 Y80.135 Z0.000
N23020 G01 X326.834 Y80.646 Z0.000
N23021 G01 X326.843 Y81.157 Z0.000
N23022 G01 X326.847 Y81.668 Z0.000
N23023 G01 X326.847 Y81.668 Z0.000
N23024 G00 X326.847 Y81.668 Z10.000
%

请教
一文件夹中有一批文件 内容如上  .cut  格式  可以用记事本打开  怎么删除 每行开头的NXXXXX空格  N后面的数字不封顶  还有如N4那行 N4删除后这行为空行 此累空行要一并删除 另外这种文件*.cut  要改名为*.pim       批处理怎么实现

文件大小从1M 到 100M

[ 本帖最后由 chenjj214 于 2009-4-5 11:20 编辑 ]

谢谢9楼兄弟的热心帮助  代码执行成功  速度很快  比较满意

TOP

也可以不必麻烦sed
  1. @echo off
  2. set SrcFolder=C:\test
  3. for /f "delims=" %%a in ('dir /s /b /a-d "%SrcFolder%\*.cut"') do (
  4.   set fn=%%a&call :js "%%fn:\=\\%%" "%%~na.pim"
  5.   del /a/f "%%a"
  6. )
  7. exit/b
  8. :js
  9. mshta "javascript:var fso=new ActiveXObject('Scripting.FileSystemObject');fso.OpenTextFile('%~2',2,true).Write(fso.OpenTextFile('%~1').ReadAll().replace(/N\d+\s+/gi, ''));close()"
复制代码
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

天哪   火箭般的速度   
谢谢  4楼代码执行成功  感谢 感谢

TOP

恩  我用的2楼的  马上试下4楼的

TOP

回复 5楼 的帖子

你用的是2楼还是4楼?
把你的文件大小等信息在顶楼更新一下吧。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

此算法改一个文件要很久  改一个20M左右的文件得用10分钟  能不能改善一下

TOP

  1. @echo off
  2. set SrcFolder=C:\test
  3. for /f "delims=" %%a in ('dir /s /b /a-d "%SrcFolder%\*.cut"') do (
  4.   sed "s/^[N][0-9]*[ ]//" "%%a"|sed "/^$/d">"%%~na.pim"
  5.   del /f /q /a "%%a"
  6. )
复制代码
sed.exe 4.1.4版下载地址:
http://bbs.bathome.net/thread-1114-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

谢谢 代码执行成功

还有个不情之请  应为工作上的某些需要要处理此类NC文件 被逼无耐开始学批处理 只是我非此专业 理解能力有限 能不能说明一下这些代码的意思

谢谢

TOP

  1. @echo off
  2. set SrcFolder=C:\test
  3. for /f "delims=" %%a in ('dir /s /b /a-d "%SrcFolder%\*.cut"') do (
  4.   (for /f "usebackq tokens=1*" %%h in ("%%a") do (
  5.     set RowHead=%%h
  6.     set RowTail=%%i
  7.     setlocal enabledelayedexpansion
  8.     if "!RowHead:~0,1!" equ "N" (
  9.       if "!RowTail!" neq "" (
  10.         echo.%%i
  11.       )
  12.     ) else (
  13.       echo.%%h %%i
  14.     )
  15.     endlocal
  16.   ))>"%%~na.pim"
  17.   del /f /q /a "%%a"
  18. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表