4

我知道我可以通过执行以下操作来启动 exe:

start "" /b filename.exe

但这需要我知道 filename.exe 的名称,对于任何以 .exe 结尾的通用文件,我该如何做到这一点?我尝试了明显的通配符实现:

start "" /b *.exe

但是,Windows 给我一个错误,说它找不到“*.exe”文件。

4

5 回答 5

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"
于 2013-03-31T00:23:10.050 回答
4

从 cmd 运行此命令到包含exe您要运行的所有内容的文件夹:

for %x in (*.exe) do ( start "" /b  "%x" )
于 2013-03-31T00:20:03.603 回答
2

希望它有帮助

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

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

于 2013-03-31T00:19:53.463 回答
0

在 bat 文件中添加这一行

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

这会执行当前目录中的每个 .exe 文件。如同

*.exe

如果批处理支持 * 就可以了。

If you want to execute it directly from a command line window, just do

FOR /F "tokens=4" %G IN ('dir /A-D /-C ^| find ".exe"') DO start "" /b %G
于 2013-03-31T00:32:25.087 回答
0

Don't blame their codes for space issue. You should know how to use double quotation marks.

for /f "delims=" %%a in ('dir /b /s *.exe') do (
    start "" "%%a"
)
于 2013-03-31T14:13:44.117 回答