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

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

本帖最后由 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=

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

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

诚恳拜谢各位的回答
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

  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

评分人数

看得多说得多,远比不上写得多。

TOP

太感谢了~学到不少~

TOP

返回列表