我在 DOS Batch 中定义了一个这样的 lib 文件列表:
set libs=MSVCRT.LIB Kernel32.lib User32.lib,^
MSVCRT.LIB Kernel32.lib User32.lib d3d9.lib,^
MSVCRT.LIB Kernel32.lib User32.lib d3d9.lib OpenGL32.lib
我必须根据要创建的可执行文件将其中的每一个传递给编译器。现在,我只想知道如何循环并获取这些库列表中的每一个。这就是我现在所拥有的:
setlocal enabledelayedexpansion
for /F "tokens=1* delims=," %%f in ("%LIBRARIIEXTERNE%") do (
if not "%%f" == "" (
echo "F:%%f"
)
if not "%%g" == "" (
echo "G:%%g"
)
)
endlocal
所以,我只得到第一个元素,最后两个元素加入。是否可以获得列表的每一部分(以逗号分隔),无论数字是多少,还是我必须使用%%f, %%g, %%h
,这意味着我必须知道预期有多少?