当前位置: 首页 > news >正文

利用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是在父程序中调用一个子程序,所以需要等待子程序执行完才会跳回父程序继续执行下面的命令

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

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

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

相关文章:

  • 【iMessage苹果推群发】苹果相册推它由pushchatkey.pem和pushchatcert.pem作为单独的文件使用
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • 基于Xlinx的时序分析与约束(5)----衍生时钟约束
  • Python常见问题整理
  • Docker安装Zookeeper教程(超详细)
  • 【学习笔记12.25】动态规划入门
  • C语言用好写好头文件
  • 程序员过圣诞 | 用HTML写出绽放的烟花
  • 源码系列 之 HashMap
  • docker logs实时查看日志tail
  • Win10从零安装、训练、部署yolov5 6.x一条龙实战案例
  • 东北大学c++实验最后一次
  • 十六、Docker Compose容器编排第一篇
  • 时序预测 | MATLAB实现IWOA-LSTM和LSTM时间序列预测(改进的鲸鱼算法优化长短期记忆神经网络)
  • CSS预处理语言LESS与SCSS的介绍
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • CAP 一致性协议及应用解析
  • Codepen 每日精选(2018-3-25)
  • Docker入门(二) - Dockerfile
  • Git初体验
  • javascript面向对象之创建对象
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • SpiderData 2019年2月16日 DApp数据排行榜
  • tensorflow学习笔记3——MNIST应用篇
  • Terraform入门 - 3. 变更基础设施
  • Transformer-XL: Unleashing the Potential of Attention Models
  • Vue.js 移动端适配之 vw 解决方案
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 分布式熔断降级平台aegis
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 前端设计模式
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • 云大使推广中的常见热门问题
  • AI算硅基生命吗,为什么?
  • 浅谈sql中的in与not in,exists与not exists的区别
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • ( 10 )MySQL中的外键
  • (0)Nginx 功能特性
  • (27)4.8 习题课
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (编译到47%失败)to be deleted
  • (二)fiber的基本认识
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (十一)图像的罗伯特梯度锐化
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .NET 2.0中新增的一些TryGet,TryParse等方法
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)