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

[文本处理] 【已解决】批处理for语句形式变量定义的问题

本帖最后由 c755731262 于 2015-4-20 16:20 编辑
  1. @echo off
  2. (for /f "delims=" %%a in ('type "测试.txt"') do if not defined %%a (echo,%%a &set %%a=def))>"结果.txt"
  3. pause
复制代码
奇怪 形式变量%%a和普通变量的定义好像不大一样?
1

评分人数

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

有什么不一样呢?都是set 变量=值

TOP

本帖最后由 pcl_test 于 2015-4-19 16:26 编辑

如果说会觉得疑惑,大概是把形参当成变量了,在你给出的代码中,%%a只是代指,实际对象是txt的每一行内容,所以set %%a=def,实际是set 行内容=def,行内容才是变量
1

评分人数

TOP

回复 3# pcl_test


    确实感觉到奇怪,行内容做变量,这在以前没有碰到过,见到的应用例子不多

TOP

回复 4# c755731262


    类似关联数组或hash数组的思想,在文本处理里面是比较常见的。
1

评分人数

Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

返回列表