中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 21:13
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » tokens=后可以是变量吗??
可打印版本  1,357 / 14
第1楼 wudixin96 发表于 2007-04-03 05:00
银牌会员 发帖 931 积分 1,928
tokens=后可以是变量吗??
如题如下:
set tk=2
for /f "tokens=%tk%" in (...) do (......& set /a tk=!tk!+1)

这样可以吗??

[ Last edited by wudixin96 on 2007-4-3 at 05:01 AM ]
第2楼 pestally 发表于 2007-04-03 05:06
初级用户 发帖 12 积分 29
这个....没试过...
第3楼 stornager 发表于 2007-04-03 05:17
中级用户 发帖 131 积分 328
楼主自己试一下不就知道吗???
第4楼 wudixin96 发表于 2007-04-03 05:21
银牌会员 发帖 931 积分 1,928
偶是菜鸟。即使可以。偶也试不出来的。o(∩_∩)o...哈哈。
第5楼 NaturalJ0 发表于 2007-04-03 05:27
银牌会员 发帖 533 积分 1,181
我以前试过,没成功,也许我方法不对。

但至少你可以 CALL 另一段,用 %1 这类参数传进去
第6楼 9527 发表于 2007-04-03 05:29
银牌会员 发帖 438 积分 1,185 来自 北京
答案是可以的,测试文件如下,测试环境XP SP2

第7楼 wudixin96 发表于 2007-04-03 05:40
银牌会员 发帖 931 积分 1,928
如楼上是可以实现的。
问题就在这,此时tk=2的。
但要求tk是会变化的。如set /a tk=!tk!+1
似乎就无法实现了。
第8楼 NaturalJ0 发表于 2007-04-03 05:48
银牌会员 发帖 533 积分 1,181


我记得我以前写的是类似这样的
第9楼 9527 发表于 2007-04-03 05:52
银牌会员 发帖 438 积分 1,185 来自 北京
可以告诉你没有似乎,只是灵活应用的问题,看下面实例:

第10楼 wudixin96 发表于 2007-04-03 05:53
银牌会员 发帖 931 积分 1,928
谢谢各位大侠的帮助。似乎明白了点。
再次感谢。
第11楼 NaturalJ0 发表于 2007-04-03 05:58
银牌会员 发帖 533 积分 1,181
看了 9527 的代码感觉又学到了点新东西
第12楼 9527 发表于 2007-04-03 06:08
银牌会员 发帖 438 积分 1,185 来自 北京
其实我也晕菜啦,用不着SETLOCAL 和 ENDLOCAL效果应该也是一样的,刚才看了一下他的set /a tk=!tk!+1,我想楼主一定没有试验就做出了这样的判断,其实是可以的
只不过set /a tk=!tk!+1这句一定要加上参数/a ,这个参数可起到决定性的作用了
第13楼 gugewang 发表于 2008-01-11 20:47
新手上路 发帖 6 积分 12
学习。。 呵呵
第14楼 moniuming 发表于 2008-01-24 15:40
银牌会员 发帖 574 积分 1,335 来自 广西
我也弄来试试看
第15楼 fastslz 发表于 2008-01-24 18:16
铂金会员 发帖 2,315 积分 5,493 来自 上海
"tokens=*"是什么意思,具体是什么功能`
能给我解释一下么`麻烦你了`

for /?自己看



我回会员的一段消息,既然写了就贴这里了,已经全中文了看不懂不要再问了
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023