CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  Windows SDK/API

编写批处理文件时传入多个参数的问题

楼主Regwolf(洪大伟)2006-12-01 22:52:47 在 Delphi / Windows SDK/API 提问

我的程序需要调用一个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

相关问题

关键词

得分解答快速导航

  • 帖主:Regwolf
  • cangwu_lee
  • sanmaotuo

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo