如何使用批处理文件执行任何.exe?

时间:2013-03-31 00:05:00

标签: windows batch-file automation exe

我知道我可以通过以下方式启动exe:

start "" /b filename.exe

但是这需要我知道filename.exe的名称,我怎么能为任何以.exe结尾的常规文件做到这一点?我尝试了明显的通配符实现:

start "" /b *.exe
但是,Windows会给我一个错误,说它无法找到“* .exe”文件。

5 个答案:

答案 0 :(得分:13)

如果您打算在批处理文件中运行,可以这样做:

for %%i in (*.exe) do start "" /b "%%i"

如果要跳过要执行的特定文件:

for %%i in (*.exe) do if not "%%~nxi" == "blabla.exe" start "" /b "%%i"

如果还需要检查子文件夹添加/ r参数:

for /r %%i in (*.exe) do start "" /b "%%i"

答案 1 :(得分:4)

从cmd运行此文件到包含您希望运行的所有exe的文件夹:

for %x in (*.exe) do ( start "" /b  "%x" )

答案 2 :(得分:2)

Ho它有帮助

for /f "delims=" %%a in ('dir /b /s "*.exe"') do (
    start %%a
)

您应首先使用dir命令查找所有exe文件,然后执行它。

答案 3 :(得分:0)

在bat文件中添加此行

FOR /F "tokens=4" %%G IN ('dir /A-D /-C ^| find ".exe"') DO start "" /b %%G

这将执行当前目录中的每个.exe文件。与

相同
*.exe
如果批量支持*,那么

就可以了。

如果要直接从命令行窗口执行,只需执行

FOR /F "tokens=4" %G IN ('dir /A-D /-C ^| find ".exe"') DO start "" /b %G

答案 4 :(得分:0)

不要因为空间问题而责怪他们的代码。您应该知道如何使用双引号。

for /f "delims=" %%a in ('dir /b /s *.exe') do (
    start "" "%%a"
)
相关问题