网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
09月02日漏签0天
bat吧 关注:16,748贴子:231,832
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 43回复贴,共1页
<<返回bat吧
>0< 加载中...

求助大神帮忙:想用bat批处理处理一个txt文档,要求如下:

  • 只看楼主
  • 收藏

  • 回复
  • 德基爱当劳
  • If
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
1.对文件夹中所有txt文挡执行以下命令
2.删除txt档中的G05.1Q1 G05.1Q0
3.在文档开头和结尾增加单行的%,如果开头和结尾有%,则不需要添加
4.在txt档中第二个()后添加一行T*M06,T*M06也是单行
5.*的值与txt档中H后面的数字一样


  • In76123
  • Dir
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
好麻烦呀


2025-09-02 17:31:07
广告
不感兴趣
开通SVIP免广告
  • In76123
  • Dir
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
高难度呀,对了,为什么有这么坑爹的要求呀


  • aiwozhonghuaba
  • Findstr
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
给出一部分样本吧,不然不好理解


  • 德基爱当劳
  • If
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
文字样本如下:
(File_name=SAAC07)
G17G40G80
G91G28Z0.
G05.1Q1
M05
M09
G91G28Z0
G05.1Q0
N001 (D= 30.00 R= 0.00 H= 50.00 STOCK= 0.00)
G05.1Q1
G90G00G54X0.Y0.
S3000 M03
G43 Z150. H01
G00 X-6.703 Y-8.246
Z-12.
...
G03 X0.0 Y-11.598 R11.598 F1500.
G03 X11.598 Y0.0 R11.598
G03 X0.0 Y11.598 R11.598
G03 X-11.598 Y0.0 R11.598
G03 X-11.426 Y-1.99 R11.598
G01 Z-12.
G00 Z150.
;(toolname=D30,spindle=3000,stock=0.00\0.00,toolnum=1)
;(tooldia=30.00,toolcon=0.00,fl=50)
;(maxZ = 150. ,minZ = -15.)
;(time:0.15)
M05
M09
G91G28Z0
G05.1Q0
M30
@aiwozhonghuaba
@In76123


  • 德基爱当劳
  • If
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

就做这个就行


  • aiwozhonghuaba
  • Findstr
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
@echo off
setlocal enabledelayedexpansion
(echo %%
for /f "delims=" %%i in (SAAC07.cnc) do (
 set "str=%%i"
 set "str=!str:G05.1Q1=!"
 echo !str:G05.1Q0=!
)
echo %%)>New.cnc
4和5需不需要保留小数?


  • 德基爱当劳
  • If
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


2025-09-02 17:25:07
广告
不感兴趣
开通SVIP免广告
  • 德基爱当劳
  • If
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
文件都放在这样一个文件夹里,然后在文件夹里弄一个.bat文件,对cnc文件进行批处理


  • In76123
  • Dir
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
@echo off
setlocal enabledelayedexpansion
echo G05.1Q1>list
echo G05.1Q0>>list
for /f "delims=" %%h in ('dir/b SAAC*.cnc') do (
findstr /v /g:list %%h>ok.cnc
set/p str=<%%h
if "%str%" neq "%%" (echo %%>ok.cnc
) else (
cd.>%%h
for /f "skip=1 delims=" %%i in ('findstr .* ok.cnc') do (echo %%i>>%%h)
)
for /f "delims=" %%i in (ok.cnc) do (set str=%%i)
if "!str!" neq "%%" (echo.>>%%h&echo %%>>%%h)
for /f "tokens=1,8 delims=: " %%i in ('findstr/n ".*(.*H=.*" %%h') do (set n=%%i&set num=%%j)
cd.>ok.cnc
for /f "tokens=1,2 delims=:" %%i in ('findstr/n .* %%h') do (
if "%%i" neq "!n!" (echo %%j>>ok.cnc
) else (echo %%j>>ok.cnc
echo T!num!M06>>ok.cnc
)
)
move ok.cnc %%h>nul
)
del /f list>nul


  • ijyfe
  • Rem
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
@echo off
for %%a in (G05.1Q1 G05.1Q0) do set "%%a=a"
for /f "delims=" %%a in ('findstr /m "%%" *.txt') do set "%%a=a"
for /f "delims=" %%a in ('dir /a-d /b *.txt') do (
(if not defined %%a (
echo %%
for /f "delims=" %%b in (%%a) do (
if not defined %%b (
ECHO %%b|findstr "\<H=\>" >nul&&call :END "%%b"||echo %%b
)
)
echo %%
) else (
call :loop "%%a"
))>>#
move # "%%a"
)
pause&exit
:loop
for /f "delims=" %%b in (%~1) do (
if not defined %%b (
ECHO %%b|findstr "\<H=\>" >nul&&call :END "%%b"||echo %%b
)
)
goto :eof
:END
for /f "tokens=7" %%i in ("%~1") do set "var=%%i"
echo %~1
echo T%var%M06


  • 德基爱当劳
  • If
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
@echo off
for /f "delims=" %%j in ('dir /a-d /b *.txt') do (
echo %%>"%%~nj.txt"
echo %%>>#
for /f "delims=" %%a in (%%~sj) do (
if "%%a" neq "G05.1Q1" (
if "%%a" neq "G05.1Q0" echo %%a
)
)>>#
move # "%%j"
这个文件里有什么不对的地方么,我用了运行不了
@ijyfe


  • ijyfe
  • Rem
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
使用findstr命令,处理过程很慢;
已经做了修改,你可以试试下面的,
@echo off
for /f "delims=" %%a in ('findstr /m "%%" *.txt') do set "%%a=a"
for /f "delims=" %%a in ('dir /a-d /b /s *.txt') do (
if not defined %%~nxa (
(echo %%
call :loop "%%a"
echo %%)>>#
move # "%%a"
) else (
(call :loop "%%a")>>#
move # "%%a"
)
)
pause&exit
:loop
for /f "usebackq delims=" %%b in ("%~1") do (
for /f %%c in ("%%b") do (
if %%c neq G05.1Q1 (
if %%c neq G05.1Q0 (
if %%c==N001 (
for /f "tokens=7" %%d in ("%%b") do (
echo %%b
echo T%%dM06
)
) ELSE (
echo %%b
)
)
)
)
)


  • ijyfe
  • Rem
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
麻烦把百度上你贴的另外一个问题,把我采纳吧,看在辛苦给你修改批处理的份上,给加点分吧
@echo off
for /f "delims=" %%a in ('findstr /m "%%" *.txt') do set "%%a=a"
for /f "delims=" %%a in ('dir /a-d /b /s *.txt') do (
if not defined %%~nxa (
(echo %%
call :loop "%%a"
echo %%)>>#
move # "%%a"
) else (
(call :loop "%%a")>>#
move # "%%a"
)
)
pause&exit
:loop
for /f "usebackq delims=" %%b in ("%~1") do (
for /f %%c in ("%%b") do (
if %%c neq G05.1Q1 (
if %%c neq G05.1Q0 (
echo %%b
)
)
)
)


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 43回复贴,共1页
<<返回bat吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示