Board logo

标题: [文本处理] 批处理如何将文本文件的每一行赋值给一个变量? [打印本页]

作者: mrcool    时间: 2011-4-21 13:19     标题: 批处理如何将文本文件的每一行赋值给一个变量?

我有个ip.txt,里面有几百行的内容,内容格式如下:

127.0.0.1:80
127.0.0.1:8000
127.0.0.1:8001
127.0.0.1:8002
127.0.0.1:8003

我想在一个批处理中,第一次循环的时候将第一行的值赋值给变量n,第二次循环的时候将第二行的内容赋值给变量n。
请问如何实现?谢谢各位师傅。
作者: hanyeguxing    时间: 2011-4-21 13:22

直接 for /f
作者: Hello123World    时间: 2011-4-22 16:35

本帖最后由 Hello123World 于 2011-4-22 16:36 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in (help.txt) do (set n=%%i
  4. @echo !n!)
  5. pause
复制代码

作者: Batcher    时间: 2011-4-22 23:27

3# Hello123World


如果文件里面有这样的行呢?
on
off
作者: Hello123World    时间: 2011-4-24 15:05

本帖最后由 Hello123World 于 2011-4-24 18:49 编辑

4# Batcher
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in (help.txt) do (set n=%%i
  4. @echo\!n!)
  5. pause
复制代码
如果真遇到,我也只能这样了,不知道还有什么更好的方法没?
作者: ▄︻┻═┳一    时间: 2011-4-24 15:33

用echo. 输出
作者: broly    时间: 2011-4-24 15:35

echo=!n!或echo\!n!
作者: Hello123World    时间: 2011-4-24 18:45

本帖最后由 Hello123World 于 2011-4-24 18:46 编辑

果然都行
echo.on
echo=on
echo\on
,不过echo= echo\ 可以解决空行的问题,echo.遇到空行就不行了。




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