楼 主
如何在批处理中调用文本中的3个变量
发表于 2007-08-21 00:11 · 中国 安徽 合肥 电信
新手上路
★
积分 10
发帖 3
注册 2007-08-05 14:15
19年会员
UID 94677
性别 男
状态 离线
有一段文本为:
romng gon god
bat文件为:
cc.exe
问题,如何在cc.exe后面插入调用文本中的3个变量
第 2 楼
发表于 2007-08-21 01:26 · 中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
for /f "delims=" %%i in (某.txt) do @echo cc.exe %%i
第 3 楼
发表于 2007-08-21 23:28 · 中国 山东 潍坊 联通
初级用户
★
积分 39
发帖 19
注册 2007-05-12 10:23
19年会员
UID 88261
性别 男
状态 离线
楼上的有些错误的。
你是每一次调用txt中的一个参数,相当于 cc.exe romng ;cc.exe gon ;cc.exe god
要求是 cc.exe romng gon god
我也没有想出来好的解决办法,自己水平太菜了,高手解决一下啊
第 4 楼
发表于 2007-08-22 00:01 · 中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
第 5 楼
发表于 2007-08-22 00:20 · 中国 山东 潍坊 联通
初级用户
★
积分 39
发帖 19
注册 2007-05-12 10:23
19年会员
UID 88261
性别 男
状态 离线
不好意思啊,测试了一下,确实是如你所说的。不好意思啊,自己也是刚刚接触批处理不久
for /f "delims=" %%i in (1.txt) do @start 1.exe %%i
我自己用c++写了一个小的程序,就是显示cmd下输入的字符的。验证了你的程序的正确性。
那为什么start 为什么不是每一次调用一个参数,而是把三个参数都调用完呢?
楼上的解释一下吧,谢谢了 ^_^
第 6 楼
发表于 2007-08-22 00:25 · 中国 山东 潍坊 联通
初级用户
★
积分 39
发帖 19
注册 2007-05-12 10:23
19年会员
UID 88261
性别 男
状态 离线
忘记说了,那个程序你在命令提示符下只有输入 1.exe romng gon god 才能显示如图的结果,由此验证了start 的确是执行的 1.exe romng gon god ,而不是执行的cc.exe romng ;cc.exe gon ;cc.exe god
第 7 楼
发表于 2007-08-22 00:26 · 中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
"delims=" 不分割字符串
默认空格分割……
第 8 楼
发表于 2007-08-22 00:38 · 中国 山东 潍坊 联通
初级用户
★
积分 39
发帖 19
注册 2007-05-12 10:23
19年会员
UID 88261
性别 男
状态 离线
哦,知道了。
自己看了帮助文件,说的是delims=xxx以xxx替换了以空格和跳格键的默认分隔符,我试验了一下,也确实如你所说的。
可是为什么delims=既然没有指定分隔符那么为什么不以空格作为分隔符呢?试验的结果怎么和帮助上有出入呢?
第 9 楼
发表于 2007-08-22 00:52 · 中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
什么都不写就是没有分割符号,而把整个delims=省略了才表示空格和跳格键的默认分隔符
第 10 楼
发表于 2007-08-22 01:02 · 中国 山东 潍坊 联通
初级用户
★
积分 39
发帖 19
注册 2007-05-12 10:23
19年会员
UID 88261
性别 男
状态 离线
原来如此啊,自己一直都理解错了,怪不得呢!!
再次感谢你,谢谢了 ^_^
论坛跳转: