在我的批处理中需要把所有文件加入classpath,查了一下相关资料,现在大家只要记住这句话就行了:
setlocal EnableDelayedEx
for /f "delims=" %%i in ('dir /b /a-d /s "*"') do @set LIB_JARS=!LIB_JARS!;%%i
endlocal
第一句话是启用延迟扩展的,必须有这句话,否则是不行的。
第二句话是把所有的文件加入LIB_JARS这个自定义变量了。需要说明的是若写在bat文件中,要用%%i表示当前文件,若是在cmd中,用%i找表就行了。还有一点就是延迟扩展的变量要用!括起来。最后还有一点就是'dir /b /a-d /s "*"'是可以迭代遍历子目录的。
第三句话是结束延迟扩展
本文介绍了一个批处理脚本技巧,用于将指定目录及其子目录下的所有文件添加到classpath中。通过使用延迟扩展功能和dir命令,可以有效地构建一个包含所有必要文件路径的LIB_JARS变量。
2万+

被折叠的 条评论
为什么被折叠?



