Board logo

标题: [文本处理] 批处理怎样根据文件内容执行不同的程序? [打印本页]

作者: chenyaoquan    时间: 2012-3-18 11:20     标题: 批处理怎样根据文件内容执行不同的程序?

我有个文本文件,内容如下所示:
a=0
b=1
c=2

然后怎样用批处理读取第二行b的值(b有多个值,包括字符串),然后判断下b
b是否等于1,如果等于1则执行11.exe,如果等于2则执行22.exe,如果等于w则执行33.exe,如果等于y则执行44.exe.
作者: apang    时间: 2012-3-18 12:39

  1. @echo off
  2. for /f "tokens=1,2 delims==" %%a in (test.txt) do (
  3.     if "%%a"=="b" set var=%%b
  4. )
  5. if "%var%"=="1" start "" 11.exe
  6. if "%var%"=="2" start "" 22.exe
  7. if "%var%"=="w" start "" 33.exe
  8. if "%var%"=="y" start "" 44.exe
  9. exit
复制代码

作者: find    时间: 2012-3-18 12:43

回复 2# apang


避免不必要的条件判断:
  1. @echo off
  2. for /f "tokens=1,2 delims==" %%a in (test.txt) do (
  3.     if "%%a"=="b" set var=%%b
  4. )
  5. if "%var%"=="1" (
  6.     start "" 11.exe
  7. ) else if "%var%"=="2" (
  8.     start "" 22.exe
  9. ) else if "%var%"=="w" (
  10.     start "" 33.exe
  11. ) else if "%var%"=="y" (
  12.     start "" 44.exe
  13. )
复制代码

作者: chenyaoquan    时间: 2012-3-19 15:56

怎么获取b的最后两位做判断呢?就是获取到文本的“SW”来做判断
现在文本文件变成了如下所示:
a=1
b=123456SW
c=4
作者: apang    时间: 2012-3-19 17:59

判断出"SW"后执行什么呢?在1楼更新你的要求。




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