Board logo

标题: [文本处理] 取文件中间若干行的批处理if嵌套为啥报错,该怎么解决 [打印本页]

作者: jzy8158    时间: 2023-3-31 13:29     标题: 取文件中间若干行的批处理if嵌套为啥报错,该怎么解决

脚本主要思想是取文件中间若干行放到一个文本,剩下的放在另一个文本
  1. @echo on  
  2. set/a n1=13714,n2=16275
  3. for /f "tokens=1* delims=:" %%i in ('findstr /n .* "AURIX_TC275.hex"') do (
  4.       if %%i lss %n1% (
  5. >>ED50_AURIX_TC275_App_A.hex echo.:%%j
  6.   )
  7.   if %%i equ %n1% (
  8. echo :0200000480205A>>ED50_AURIX_TC275_CalData.hex
  9. >>ED50_AURIX_TC275_CalData.hex echo.:%%j
  10. )
  11.   if %%i gtr %n1% (
  12.          if %%i lss %n2%(
  13. >>ED50_AURIX_TC275_CalData.hex echo.:%%j
  14. )
  15. )
  16.   if %%i equ %n2% (
  17. >>ED50_AURIX_TC275_CalData.hex echo.:%%j
  18. echo :00000001FF>>ED50_AURIX_TC275_CalData.hex
  19. )
  20.       if %%i grt %n2% (
  21. >>ED50_AURIX_TC275_App_A.hex echo.:%%j
  22. )
  23.   )
复制代码

作者: 77七    时间: 2023-3-31 15:02

本帖最后由 77七 于 2023-3-31 15:06 编辑
if %%i grt %n2% (   
if %%i lss %n2%(
缺空格
  1. @echo on
  2. set/a n1=13714,n2=16275
  3. for /f "tokens=1* delims=:" %%i in ('findstr /n .* "AURIX_TC275.hex"') do (
  4.         if %%i lss %n1% (
  5.                 >>ED50_AURIX_TC275_App_A.hex echo.:%%j
  6.         ) else if %%i equ %n1% (
  7.                 >>ED50_AURIX_TC275_CalData.hex echo :0200000480205A
  8.                 >>ED50_AURIX_TC275_CalData.hex echo.:%%j
  9.         ) else if %%i lss %n2% (
  10.                 >>ED50_AURIX_TC275_CalData.hex echo.:%%j
  11.         )
  12.         if %%i equ %n2% (
  13.                 >>ED50_AURIX_TC275_CalData.hex echo.:%%j
  14.                 >>ED50_AURIX_TC275_CalData.hex echo :00000001FF
  15.         ) else if %%i gtr %n2% (
  16.                 >>ED50_AURIX_TC275_App_A.hex echo.:%%j
  17.         )
  18. )
  19. pause
复制代码

作者: jzy8158    时间: 2023-4-1 09:17

回复 2# 77七


    嗯,好像是的,多谢了!




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2