目录
一、分清楚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 参数】
指定的要调用的文件,该文件必须是批处理文件或执行文件
指定调用 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是在父程序中调用一个子程序,所以需要等待子程序执行完才会跳回父程序继续执行下面的命令
-----------------------------------------------------------------我是分割线--------------------------------------------------------------
看完了觉得不错就点个赞或者评论下吧,感谢!!!
如果本文哪里有误随时可以提出了,收到会尽快更正的