标题:
[其他]
批处理for命令中可以使用变量扩展吗?
[打印本页]
作者:
BS0小陈
时间:
2011-6-16 12:44
标题:
批处理for命令中可以使用变量扩展吗?
在for中:
set b=%%a
set c=!b:~12!
这个可以不可以简单一些啊?
像:
set b=%%:~12 (当然了这个不对)
作者:
CrLf
时间:
2011-6-16 12:57
不行,因为参数变量是被cmd当成文件看待,而我们平时设置的变量却是字符串,两者虽可相互转换,但语法不能互相套用
作者:
applba
时间:
2011-6-16 13:06
2#
zm900612
很新鲜的看法,头一次听说
作者:
applba
时间:
2011-6-16 13:07
1#
BS0小陈
很基本的概念,一个的环境变量,一个循环变量,怎么能混为一谈?
作者:
CrLf
时间:
2011-6-16 13:12
3#
applba
只是个人看法,没有权威性。
这里说的不是变量的属性,而是试图从cmd设计者的角度来描述二者的区别,%%a的所有扩展用法都是针对文件的,而%str%的所有用法都是针对字符串的,所以我这么说,不过好像用词不当产生了歧义。
作者:
Hello123World
时间:
2011-6-16 17:27
本帖最后由 Hello123World 于 2011-6-16 17:29 编辑
%%a的所有扩展用法都是针对文件的
,这话并不完全正确, 至少%~I - 删除任何引号("),扩展 %I,这个不是。
不过说%%a的扩展是针对文件的这种说法确实让我很以为然,因为除了上面这一个(这个只是牵涉到可以处理字符串),其它的都是为处理文件而存在的。
作者:
tmplinshi
时间:
2011-6-16 18:15
本帖最后由 tmplinshi 于 2011-6-16 18:17 编辑
%%a的所有扩展用法都是针对文件的
不是有
FOR /F ["options"] %variable IN ("
string
") DO command [command-parameters]
吗?
作者:
qzwqzw
时间:
2011-6-16 19:50
楼上和再楼上的两位讨论的不是一回事
他们讨论的是for变量的替换修饰符主要针对文件做了增强
而不是说for变量扩展的都是文件对象
欢迎光临 批处理之家 (http://www.bathome.net/)
Powered by Discuz! 7.2