windows - 批处理文件 - FOR 循环

标签 windows for-loop batch-file cmd

让我为我的问题铺垫一下。我有一个文件夹 (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

最佳答案

你可以试试:

FOR /f "delims=" %%G IN ('dir /b /a-d *.exe') DO start "" "%%~G"

关于windows - 批处理文件 - FOR 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17430348/

相关文章:

Java 贷款计算器基于用户输入嵌套 for 循环

batch-file - 批处理 - xcopy 早于 x 分钟的文件

java - 解决: 'mvn' is not recognized as an internal or external command,可运行程序或批处理文件的分步方法是什么

java - 如何使用批处理文件作为 Java 控制台?

windows - 发送到 HWND_BROADCAST 的消息会转到其他桌面吗?

windows - 没有 CredSSP 的双跳访问复制文件

c - 如何从 IRP_MJ_CREATE 回调中获取 OpenResult?

javascript - 尝试在对象中使用带有 if else 语句的 for 循环

C++ for循环没有条件

windows - 使用 Progress 在 Windows 命令行上复制文件