利用Bat打开exe程序并传入值

目录

一、分清楚exe接收值的方式

1、打开exe时提示输入1、2、3...

2、知道exe形参(程序主函数中定义的argv[])

二、call和start的区别


一、分清楚exe接收值的方式

1、打开exe时提示输入1、2、3...

如图:

这种是程序运行时接收用户输入参数,如果是bat写的程序就是像:set /p a=,或者c语言中的scanf、gets等,所以要想自动化输入只能用模拟键盘的方式

通过VBS:

echo set wshshell=CreateObject("Wscript.shell") > 1.vbs
echo wshshell.run "(这里填提示输入数值exe的路径)">> 1.vbs
echo wscript.sleep 1000>> 1.vbs
echo wshshell.sendkeys "(这里填你要输入的数值)">> 1.vbs
echo wshshell.sendkeys "{enter}">> 1.vbs
echo wscript.quit>> 1.vbs
call 1.vbs

2、知道exe形参(程序主函数中定义的argv[])

如果你知道exe程序是需要用到argv[]中的参数的话,则可以利用call和start来实现

通过call:

主要命令格式

FileName 参数

 指定的要调用的文件,该文件必须是批处理文件或执行文件

Pararneters参数

  指定调用 FileName 时传递的参数 ,多个参数使用空白分隔 

::一个参数
call test.bat 1
::多个参数
call test.bat 1 2 3

通过start命令:

::一个参数
start test.bat 1
::多个参数
start test.bat 1 2 3

二、call和start的区别

start是开启一个新的进程,所以start后的程序就和父程序没瓜葛了

call是在父程序中调用一个子程序,所以需要等待子程序执行完才会跳回父程序继续执行下面的命令

-----------------------------------------------------------------我是分割线--------------------------------------------------------------

看完了觉得不错就点个赞或者评论下吧,感谢!!!

如果本文哪里有误随时可以提出了,收到会尽快更正的

  • 7
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值