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

[文本处理] 取文件中间若干行的批处理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: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
复制代码
bat小白,请多指教!谢谢!

TOP

回复 2# 77七


    嗯,好像是的,多谢了!

TOP

返回列表