标题: [文件操作] 请问批处理怎样循环读取文本文件中的每一行? [打印本页]
作者: mrcool 时间: 2012-2-8 11:12 标题: 请问批处理怎样循环读取文本文件中的每一行?
我有一个website.txt,里面的内容如下:- www.sina.com.cn
- www.qq.com
- www.sohu.com
- www.taobao.com
复制代码
我希望批处理每次能够顺序读取该文件中的每一行,并将其赋值给变量%website%
也就是,第一次循环取的是www.sina.com.cn,第二次取www.qq.com。。。。
我的代码始终取的是最后一行,请师傅们指教。- :START
- FOR /F "delims=" %%a in (website.txt) do (set website=%%a)
- echo %website%
- GOTO START
复制代码
作者: ivor 时间: 2012-2-8 11:29
你的代码功能就是只输出最后一行,把goto start 删掉,设置ENABLEDELAYEDEXPANSION,echo %website% 修改为echo !website!然后添加到do ()中
作者: mrcool 时间: 2012-2-8 12:00
谢谢ivor的指点。
我想命令不在do()中运行。do()中只赋值的话,应当如何操作呢?
作者: lvsehuaxue 时间: 2012-2-8 13:01
- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%i in (website.txt) do set "website=%%i"&call :s !website!
- pause
- :s
- echo %1
- goto :eof
复制代码
作者: Hello123World 时间: 2012-2-9 20:24
- @echo off&SetLocal EnableDelayedExpansion
- set website=
- FOR /F "delims=" %%a in (website.txt) do set website=!website! %%a
- echo !website:~2!
- pause
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |