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

[文本处理] 批处理怎样根据文件内容执行不同的程序?

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

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

  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
复制代码

TOP

回复 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. )
复制代码

TOP

怎么获取b的最后两位做判断呢?就是获取到文本的“SW”来做判断
现在文本文件变成了如下所示:
a=1
b=123456SW
c=4

TOP

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

TOP

返回列表