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

[文本处理] 批处理如何将文本文件的每一行赋值给一个变量?

我有个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。
请问如何实现?谢谢各位师傅。

直接 for /f
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

本帖最后由 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
复制代码

TOP

3# Hello123World


如果文件里面有这样的行呢?
on
off
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 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
复制代码
如果真遇到,我也只能这样了,不知道还有什么更好的方法没?

TOP

用echo. 输出

TOP

echo=!n!或echo\!n!
---学无止境---

TOP

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

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

TOP

返回列表