Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何使用通配符确定exe文件的名称并在cmd/batch文件中执行该文件_Batch File_Cmd - Fatal编程技术网

Batch file 如何使用通配符确定exe文件的名称并在cmd/batch文件中执行该文件

Batch file 如何使用通配符确定exe文件的名称并在cmd/batch文件中执行该文件,batch-file,cmd,Batch File,Cmd,我有一个构建应用程序的项目,每当它构建应用程序时,它生成的名称类似于MyApp1.1.exe、MyApp1.2.exe、myApp、1.3.exe等。每当有新的构建时,我想在另一个环境中部署应用程序。但问题是我在批处理脚本中使用了下面的in命令,这是一个错误 MyApp1.*.exe 但它总是在命令行中抛出一个错误,指出“MyApp1.*.exe”无法识别为内部或外部命令、可操作程序或批处理文件。我知道这应该很简单,但我似乎找不到任何解决方案,它用于运行批处理文件,要求您运行for循环来为每个

我有一个构建应用程序的项目,每当它构建应用程序时,它生成的名称类似于MyApp1.1.exe、MyApp1.2.exe、myApp、1.3.exe等。每当有新的构建时,我想在另一个环境中部署应用程序。但问题是我在批处理脚本中使用了下面的in命令,这是一个错误

MyApp1.*.exe

但它总是在命令行中抛出一个错误,指出“MyApp1.*.exe”无法识别为内部或外部命令、可操作程序或批处理文件。我知道这应该很简单,但我似乎找不到任何解决方案,它用于运行批处理文件,要求您运行
for
循环来为每个项目执行
。因此,您需要为
提供一些条件,它将根据这些条件返回列表。然后,您可以使用这些元变量执行
操作

@echo off
for %%i in (MyApp*.*.exe) do echo start "" "%%~i"

在本演示中,我并没有实际运行
exe
cutable,而是
echo
full命令。如果您觉得它适合于此目的,那么simpy从
echo start”“…
部分删除
echo

在创建
MyApp.a.b.exe
的同时,也创建一个仅运行此新创建版本的
MyApp.latest.bat
。您不能使用*通配符选择单个文件。您将需要使用批处理脚本和for循环,类似于此()。不,您不能这样做。在
cmd
do
中,在(MyApp*.exe)中为%i启动“%~i”
。从批处理文件使用时,请双击
%
。您在书中或网上找到哪些说明可以在批处理文件中使用该语法的文档?想知道我自己的文件目的。@Gerhard谢谢。这确实奏效了:)谢谢你,格哈德。它确实起作用了。是的,它应该起作用,这就是为什么我发布了答案:)