让我设置我的问题的阶段。我有一个文件夹 ( FOLDER_ABC
)。在该文件夹中,有一个用于我的应用程序的文件夹,其中包括一个唯一且始终在变化的版本号 ( application-v1.3.4
)。在该文件夹中,有应用程序 ( application-v1.3.4.exe
) - 它也会定期更改。
C:\FOLDER_ABC\application-v1.3.4\application-v1.3.4.exe
在下面的本节中,我为任何以 application* 开头的文件夹创建一个目录列表,FOLDER_ABC
并将该文件夹名称存储到一个名为directory.txt
. 然后我创建一个参数并将该目录存储到其中。我正在这样做,而不是将直接完整路径应用到目录或文件,因为版本会改变,我不想硬编码批处理脚本。
cd C:\FOLDER_ABC\
dir application* /b /ad>"C:\FOLDER_ABC\directory.txt"
set /p verdir= <C:\FOLDER_ABC\directory.txt
这是我的问题。在下面的部分中,我试图让我的批处理脚本运行该application*.exe
文件,并继续处理我的批处理文件。它当前运行我的应用程序,但它挂起并且不会继续我的批处理脚本的其余部分。我对所有这些编码都很陌生,所以我很感激帮助。我认为这可能与我没有正确关闭 FOR 循环有关?我怎样才能让它继续:FINISH?
cd "C:\FOLDER_ABC\%verdir%\"
FOR /f "tokens=*" %%G IN ('dir /b *.exe') DO %%G;
:FINISH
ECHO THE END
exit
想通了,但没有足够的 StackOverflow 学分来回答我自己的问题。下面列出了我的解决方案。感谢大家。你为我指明了正确的方向。
cd "C:\FOLDER_ABC\%verdir%\"
FOR %%G in (*.exe) DO START %%G