gpt4 book ai didi

java - 批处理和 for 循环

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:19:33 25 4
gpt4 key购买 nike

我有一个由 .cmd 文件启动的 java 应用程序。我想通过这批设置应用程序的类路径,所有需要的 jar 都放在一个 lib 文件夹中。

这是我尝试过的:

 set _classpath=.
for %%i in (%1/lib/*.*) do ( set _classpath=%_classpath%;%%i )

令人惊讶的是,它似乎并没有像预期的那样起作用。假设 lib 文件夹中有 3 个 jar:

  • 皮卡丘.jar
  • 声波.jar
  • 马里奥.jar

这是发生了什么:

  1. 设置 _classpath=。
  2. 设置 _classpath=.;pikachu.jar
  3. 设置 _classpath=.;sonic.jar
  4. 设置 _classpath=.;mario.jar

显然,我想要得到的是

  • 设置_classpath=.;pikachu.jar;sonic.jar;mario.jar

有什么想法吗?

感谢和问候,

最佳答案

将其放在批处理文件的顶部:

setlocal enabledelayedexpansion

然后在 for 循环中,将 %_classpath% 替换为 !_classpath!

如果不启用延迟扩展,%_classpath% 会在 for 循环开始时扩展一次。


[编辑]为了回应评论,这里是完整的代码 list

@echo off
setlocal enabledelayedexpansion

set _classpath=.
for %%i in (%1/lib/*.*) do (
set _classpath=!_classpath!;%%i
)

echo %_classpath%
pause

关于java - 批处理和 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2746386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com