delphi2007 教程

delphi2007 教程

首页 新随笔 联系 聚合 管理
  1013 Posts :: 0 Stories :: 28 Comments :: 0 Trackbacks
编写批处理文件时传入多个参数的问题 Delphi / Windows SDK/API
http://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程序是先运行完成后再输入参数的,不是程序一开始就输入参数。

自己解决了,结帖!

楼主怎么解决的,能说说吗?谢谢了

posted on 2008-09-23 09:37 delphi2007 阅读(420) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。