中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-07-02 13:26
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » FOR 命令疑问 查看 743 回复 4
楼 主 FOR 命令疑问 发表于 2008-08-15 11:43 ·  IANA 局域网IP(Private-Use)
新手上路
积分 6
发帖 2
注册 2008-03-13 12:51
18年会员
UID 112839
性别 男
状态 离线
有一个程序调用时是这样调用的

test.exe "1-test"
test.exe "2-test"
test.exe "3-test"

我现在想写成一个批处理

text.bat "1-test|2-test|3-test"

如何用 FOR 命令把 "1-test|2-test|3-test" 分开后调用 test.exe 呢?
2 发表于 2008-08-15 14:31 ·  中国 江苏 苏州 电信
银牌会员
★★★
积分 1,181
发帖 533
注册 2006-08-14 12:54
19年会员
UID 60484
状态 离线
直接用多个参数分别传,处理参数就行了.

%0 %1 %2 ... %9
shift
3 发表于 2008-08-15 14:50 ·  IANA 局域网IP(Private-Use)
新手上路
积分 6
发帖 2
注册 2008-03-13 12:51
18年会员
UID 112839
性别 男
状态 离线
是想把 "1-test|2-test|3-test"

然后有时传 "1-test|2-test"
有时传"3-test"

我要这样的。
4 发表于 2008-08-15 17:47 ·  中国 湖北 武汉 电信
中级用户
★★
积分 471
发帖 207
注册 2007-05-03 14:53
19年会员
UID 87369
性别 男
状态 离线
你分开传不就是可以了?
5 发表于 2008-08-16 22:55 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
直接用空格作为参数分隔符多好啊,干吗非要用管道符号?

@echo off
:begin
start test.exe %1
shift
if "%1" equ "" goto :eof
goto :begin
论坛跳转: