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

[文本处理] [已解决]批处理for语句获得的字符串怎样赋值给变量?

[复制链接]
发表于 2012-12-5 18:51:46 | 显示全部楼层 |阅读模式
本帖最后由 yanai0827 于 2012-12-7 13:16 编辑

实现需求:  将一个行数不确定的文档,每一行的文字赋值给一个变量

实现代码:
  1. for /f "eol=*" %%i in (device.txt) do (
  2.         if "%%i" equ "List" (echo >nul  ) else (
  3.         Set /a deviceNum=deviceNum+1
  4.         echo ^Set device%deviceNum% ^= %%i >> list.txt
  5.         )
复制代码
发现问题:  出现的永远是device1=,不会变更

期望解决方法:  可以按照有两行就显示device1=   device2=

[求助] 怎样实现变量递增

看了一下论坛里有类似的帖子,感觉都不太一样,还希望大家多多帮助.

诚恳拜谢各位的回答

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2012-12-5 19:16:47 | 显示全部楼层

  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "eol=* delims=" %%i in (device.txt) do (
  3.    if not "%%i" equ "List" (
  4.         Set /a deviceNum+=1
  5.         echo Set device!deviceNum!=%%i
  6.    )
  7. ))> list.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2012-12-7 13:15:20 | 显示全部楼层
太感谢了~学到不少~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 23:30 , Processed in 0.019297 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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