编写批处理文件时传入多个参数的问题
我的程序需要调用一个dos程序mydos.exe,该程序在运行结束时需要输入参数,并且是两个,我现在的做法是:先编写一个文本文件mytext.txt,把需要输入的参数记录在里面,比如“10 10”,然后便写一个bat文件,这样写:
@echo off
path/mydos.exe < path/mytest.txt
然后createprocess运行该bat文件,但结果运行却不正常。我试过另一个dos程序,该程序一开始便需要输入参数,并只有一个参数,结果却能正常运行。我的问题是,究竟是输入参数的时间错误还是输入参数的方式错误呢?
多谢!
问题点数:50、回复次数:6Top
1 楼cangwu_lee(橙子)回复于 2006-12-01 23:00:36 得分 20
DOS 的文件夹分隔符应该不是这样写法的吧 应该是 \
如果参数 不算很多,应该可以这样调用:
path\mydos.exe 10 10Top
2 楼sanmaotuo(老冯)回复于 2006-12-02 00:32:34 得分 30
呵呵,好久没有搞批处理了.来写一个.你的BAT文件里面的命令应该是这样的:
@echo off
@for /f "delims=," %%i in (mytest.txt) do mydos.exe %%i
你的mytest.txt的内容是: 10 10 (还可以更多的参数)
"delims=," 就是把,当分隔符号,这样读出来的参数才是10 10
至于路径你就自己看着办吧
Top
3 楼sanmaotuo(老冯)回复于 2006-12-02 00:48:04 得分 0
MYTest.Bat:
@echo off
@for /f "delims=," %%i in (mytest.txt) do mydos.exe %%i
MyTest.Txt:
10 10
MyApplication:
WinExec(PChar(ExtractFilePath(Application.ExeName)+'MyTest.bat'), SW_HIDE)Top
4 楼Regwolf(洪大伟)回复于 2006-12-02 01:33:49 得分 0
cangwu_lee(小橙子) :path\mydos.exe 10 10 不行啊!另:路径没有错,那个“/”我是随手写的。
sanmaotuo(老冯):你说的办法我试过了,也不行啊,我调用的dos程序是先运行完成后再输入参数的,不是程序一开始就输入参数。Top
5 楼Regwolf(洪大伟)回复于 2006-12-07 11:09:41 得分 0
自己解决了,结帖!Top
6 楼ringerxyz()回复于 2007-01-25 17:23:11 得分 0
楼主怎么解决的,能说说吗?谢谢了Top




