本帖最后由 vszy 于 2016-3-16 19:51 编辑
已知条件:有个test.ini文件(test.ini所在目录不确定,需全盘搜索),test.ini内容如下:- [Common]
- NAME1=1.EXE
- NAME2=2.EXE
- NAME3=3.EXE
复制代码 这里的NAME1,NAME2,NAME3也是已知的。
能不能写个BAT,要求先找到这个INI文件的路径并读取NAME1或2或3的值。最后运行“INI路径\1或2或3.EXE”
例如:比如test.ini在G:\soft下,读取NAME2段,最终结果是start G:\soft\2.exe
昨晚找了一些资料,也整合了以下代码:- @echo off
- rem 指定待搜索的文件
- set "FileName=test.ini"
- echo 正在搜索,请稍候...
- for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
- if exist %%a:\ (
- pushd %%a:\
- for /r %%b in (*%FileName%) do (
- if /i "%%~nxb" equ "%FileName%" (
- echo,%%b
- )
- )
- popd
- )
- )
- pause
复制代码 和- @Echo OffFor /f "tokens=1-2 delims==" %%i in (test.ini) do (If /i "%%i"=="NAME1" Echo.%%j)Pause
复制代码 echo却得到G:\soft\test.ini2.exe这样的结果 而不是G:\soft\2.exe ,今天又改了下还是无果,特来请教各位朋友。 |