中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-05 14:57
48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何在批处理中调用文本中的3个变量
可打印版本  913 / 9
第1楼 lw44444 发表于 2007-08-21 00:11
新手上路 发帖 3 积分 10
如何在批处理中调用文本中的3个变量
有一段文本为:
romng gon god

bat文件为:
cc.exe

问题,如何在cc.exe后面插入调用文本中的3个变量
第2楼 slore 发表于 2007-08-21 01:26
铂金会员 发帖 2,478 积分 5,212
for /f "delims=" %%i in (某.txt) do @echo cc.exe %%i
第3楼 wpclub 发表于 2007-08-21 23:28
初级用户 发帖 19 积分 39
楼上的有些错误的。
你是每一次调用txt中的一个参数,相当于 cc.exe romng ;cc.exe gon ;cc.exe god

要求是 cc.exe romng gon god

我也没有想出来好的解决办法,自己水平太菜了,高手解决一下啊
第4楼 slore 发表于 2007-08-22 00:01
铂金会员 发帖 2,478 积分 5,212
你有测试麽?
第5楼 wpclub 发表于 2007-08-22 00:20
初级用户 发帖 19 积分 39
不好意思啊,测试了一下,确实是如你所说的。不好意思啊,自己也是刚刚接触批处理不久

for /f "delims=" %%i in (1.txt) do @start 1.exe %%i

我自己用c++写了一个小的程序,就是显示cmd下输入的字符的。验证了你的程序的正确性。

那为什么start 为什么不是每一次调用一个参数,而是把三个参数都调用完呢?

楼上的解释一下吧,谢谢了 ^_^

附件
1.jpg (13.77 KiB)
第6楼 wpclub 发表于 2007-08-22 00:25
初级用户 发帖 19 积分 39
忘记说了,那个程序你在命令提示符下只有输入 1.exe romng gon god 才能显示如图的结果,由此验证了start 的确是执行的 1.exe romng gon god ,而不是执行的cc.exe romng ;cc.exe gon ;cc.exe god
第7楼 slore 发表于 2007-08-22 00:26
铂金会员 发帖 2,478 积分 5,212
"delims=" 不分割字符串

默认空格分割……
第8楼 wpclub 发表于 2007-08-22 00:38
初级用户 发帖 19 积分 39
哦,知道了。

自己看了帮助文件,说的是delims=xxx以xxx替换了以空格和跳格键的默认分隔符,我试验了一下,也确实如你所说的。

可是为什么delims=既然没有指定分隔符那么为什么不以空格作为分隔符呢?试验的结果怎么和帮助上有出入呢?
第9楼 slore 发表于 2007-08-22 00:52
铂金会员 发帖 2,478 积分 5,212
什么都不写就是没有分割符号,而把整个delims=省略了才表示空格和跳格键的默认分隔符
第10楼 wpclub 发表于 2007-08-22 01:02
初级用户 发帖 19 积分 39
原来如此啊,自己一直都理解错了,怪不得呢!!
再次感谢你,谢谢了 ^_^
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023