找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 21707|回复: 4

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

[复制链接]
发表于 2012-3-18 11:20:37 | 显示全部楼层 |阅读模式
我有个文本文件,内容如下所示:
a=0
b=1
c=2

然后怎样用批处理读取第二行b的值(b有多个值,包括字符串),然后判断下b
b是否等于1,如果等于1则执行11.exe,如果等于2则执行22.exe,如果等于w则执行33.exe,如果等于y则执行44.exe.
发表于 2012-3-18 12:39:45 | 显示全部楼层
  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
复制代码
发表于 2012-3-18 12:43:38 | 显示全部楼层
回复 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. )
复制代码
 楼主| 发表于 2012-3-19 15:56:04 | 显示全部楼层
怎么获取b的最后两位做判断呢?就是获取到文本的“SW”来做判断
现在文本文件变成了如下所示:
a=1
b=123456SW
c=4
发表于 2012-3-19 17:59:46 | 显示全部楼层
判断出"SW"后执行什么呢?在1楼更新你的要求。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 19:50 , Processed in 0.017642 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表