编写批处理文件时传入多个参数的问题 Delphi / Windows SDK/APIhttp://www.delphi2007.net/DelphiAPI/html/delphi_20061201225247135.html
我的程序需要调用一个dos程序mydos.exe,该程序在运行结束时需要输入参数,并且是两个,我现在的做法是:先编写一个文本文件mytext.txt,把需要输入的参数记录在里面,比如“10 10”,然后便写一个bat文件,这样写:
@echo off
path/mydos.exe < path/mytest.txt
然后createprocess运行该bat文件,但结果运行却不正常。我试过另一个dos程序,该程序一开始便需要输入参数,并只有一个参数,结果却能正常运行。我的问题是,究竟是输入参数的时间错误还是输入参数的方式错误呢?
多谢!
DOS 的文件夹分隔符应该不是这样写法的吧 应该是 \
如果参数 不算很多,应该可以这样调用:
path\mydos.exe 10 10
呵呵,好久没有搞批处理了.来写一个.你的BAT文件里面的命令应该是这样的:
@echo off
@for /f "delims=," %%i in (mytest.txt) do mydos.exe %%i
你的mytest.txt的内容是: 10 10 (还可以更多的参数)
"delims=," 就是把,当分隔符号,这样读出来的参数才是10 10
至于路径你就自己看着办吧
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)
cangwu_lee(小橙子) :path\mydos.exe 10 10 不行啊!另:路径没有错,那个“/”我是随手写的。
sanmaotuo(老冯):你说的办法我试过了,也不行啊,我调用的dos程序是先运行完成后再输入参数的,不是程序一开始就输入参数。
自己解决了,结帖!
楼主怎么解决的,能说说吗?谢谢了