如何用批处理调用exe程序把参数传递给其他文件?

如何用批处理调用exe程序把参数传递给其他文件?,第1张

要在批处理中调用exe程序并将参数传递给其他文件,可以使用以下步骤:

在批处理文件中使用start命令调用exe程序,例如:

sql

start "My Program" "C:\Program Files\MyProgram\MyProgram.exe"

这会启动名为"My Program"的窗口,并执行"C:\Program Files\MyProgram\MyProgram.exe"可执行文件。

如果要将参数传递给exe程序,可以在exe程序路径后面加上参数,例如:

sql

start "My Program" "C:\Program Files\MyProgram\MyProgram.exe" arg1 arg2 arg3

这会将三个参数arg1、arg2和arg3传递给MyProgram.exe程序。

在exe程序中,可以使用命令行参数获取批处理传递的参数。在C++中,可以使用main函数的参数来获取这些参数,例如:

c++

int main(int argc, char* argv[]){    // 获取参数个数

   int argCount = argc   // 获取第一个参数(即argv[0]为程序名称,argv[1]开始才是传递的参数)

   char* arg1 = argv[1]   // 获取第二个参数

   char* arg2 = argv[2]   // 获取第三个参数

   char* arg3 = argv[3]   // ...}

这样就可以将批处理传递的参数在exe程序中使用了。

需要注意的是,命令行参数的类型都是字符串类型,因此需要根据实际情况进行转换。

system()的输入参数是一个字符串,这个函数的作用就是在命令行下以命令的形式执行这个字符串。“C:\a.exe” 在命令行下是可以直接运行的,所以直接填到参数里就行了。不过需要注意的是,字符串作为参数的时候“\”要做一下转义,要变成“\\”才行。

所以正确的使用方法应该是

system("C:\\a.exe")

注意,system在调用的时候需要加上#include <stdlib.h>的头文件。

使用Shell函数函数。

Shell函数是VB中的内部函数,它负责执行一个可执行文件,返回一个Variant(Double),如果成功的话,代表这个程序的进程ID,若不成功,则会返回0。

Shell的语法:Shell(PathName[,WindowStyle])。

PathName 为必需参数。类型为String,它指出了要执行的程序名,以及任何需要的参数或命令行变量,也可以包括路径名。

WindowStyle为可选参数。Integer类型,指定在程序运行时窗口的样式。WindowStyle有以下这些值。

示例,打开当前程序所在目录下的TEMP.EXE文件:

Dim a As Integer

a = Shell(App.Path &"\TEMP.EXE")


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11467039.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存