标题: [文本处理] 【已解决】批处理for语句形式变量定义的问题 [打印本页]
作者: c755731262 时间: 2015-4-19 16:02 标题: 【已解决】批处理for语句形式变量定义的问题
本帖最后由 c755731262 于 2015-4-20 16:20 编辑
- @echo off
- (for /f "delims=" %%a in ('type "测试.txt"') do if not defined %%a (echo,%%a &set %%a=def))>"结果.txt"
- pause
复制代码
奇怪 形式变量%%a和普通变量的定义好像不大一样?
作者: pcl_test 时间: 2015-4-19 16:20
有什么不一样呢?都是set 变量=值
作者: pcl_test 时间: 2015-4-19 16:25
本帖最后由 pcl_test 于 2015-4-19 16:26 编辑
如果说会觉得疑惑,大概是把形参当成变量了,在你给出的代码中,%%a只是代指,实际对象是txt的每一行内容,所以set %%a=def,实际是set 行内容=def,行内容才是变量
作者: c755731262 时间: 2015-4-19 17:34
回复 3# pcl_test
确实感觉到奇怪,行内容做变量,这在以前没有碰到过,见到的应用例子不多
作者: gawk 时间: 2015-4-19 20:11
回复 4# c755731262
类似关联数组或hash数组的思想,在文本处理里面是比较常见的。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |