Board logo

标题: [文本处理] 额,这算批处理中的假数组吗? [打印本页]

作者: 秋风·飞扬    时间: 2012-11-19 13:51     标题: 额,这算批处理中的假数组吗?

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. rem       用户想一次性执行这些操作,但是它们的功能模块都是对应的一个操作数
  4. rem       也就是说 set /p Choice=   每次只能输入一个数,然后goto跳转到相应的模块
  5. rem       以下的代码是一次性输入多个操作数,然后分别执行对应的功能。
  6. rem 这里我想把数字都挑出来,然后分别执行 数字对应的操作
  7. rem 例如1 对应的是查询IP
  8. rem       2 对应的是写入文档
  9. rem       3 对应的是关机
  10. rem       我想查询完IP 就将它写入到文档 然后紧接着关机,而不是单单的执行检查IP的功能。
  11. rem       代码如下,他像个数组感觉....
  12. set File_Count=1.2.3.45.2.454545.552.
  13. set Temp_m=0
  14. set Temp_n=0
  15. set Temp_l=0
  16. set Temp_Laste=0
  17. set count=1
  18. :continue
  19.     set Temp_Count=!File_Count:~%Temp_m%,1!
  20.    
  21.     set /a Temp_m+=1
  22.       
  23.     if "!Temp_Count!"=="."  ( set /a Temp_n=!Temp_m! ) else ( goto :break )
  24.      
  25.     set /a Temp_l=!Temp_m!-!Temp_Laste!-1
  26.    
  27.     set Temp_Word=!File_Count:~%Temp_Laste%,%Temp_l%!
  28.    
  29.     set Temp_Laste=!Temp_n!
  30.    
  31.     echo !Temp_Word!
  32.    
  33. :break
  34.     set /a count+=1
  35.     if "%count%" neq "40" goto :continue
  36. pause>nul
复制代码
虽然很简单,但感觉还是实用的,贴出来,献丑了,呵呵
作者: jains521    时间: 2012-11-19 15:00

数组是var[length]
且数组可以迭代,
@for /l %%i in (1,1,10) do @set var_%%i=%%i
@for /l %%i in (1,1,10) do @call echo %%var_%%i%%
作者: 853122    时间: 2014-2-3 13:15

厉害




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