2016-11-19 75 views
1

那么,如何循环访问每个目录,然后真正cd到每个循环的目录?我需要真正的CD,因为我需要在每一个执行一个exe文件,但是如果我不在目录中执行exe文件,应用程序无法正确运行(它会加载依赖关系,基于当前文件夹)如何遍历目录和cd到每个目录

所以这是行不通

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

我需要遍历每个目录,cd到该目录,然后执行

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

我如何遍历每个目录和CD到该目录?

+0

您可能只能使用相同的结构并使用/ D选项。参见'start /?'。 – Compo

+0

在命令提示符窗口中键入'start /?',并了解'/ D'选项... – aschipfl

回答

1
for /r %%i in (*.exe) do PUSHD "%%~dpi"&start "" /b "%%~nxi"&POPD 

请参阅for /?从选择路径名部分的文档提示。

0

我有一些旧的应用程序,其行为与您所描述的相同,最简单的解决方法是使用START命令和/D选项。它一直为我工作。

for /r %%i in (*.exe) do start "" /b /D "%%~dpi" "%%~nxi"