Windows 批处理:列出所有子文件及其绝对路径
我想用我的Windows 批处理:列出所有子文件及其绝对路径,windows,batch-file,Windows,Batch File,我想用我的lib文件夹下包含的所有*.jar文件自动生成一个类路径 我找不到一种方法来列出所有这些文件及其绝对路径,这样我就可以构建我的classpath变量 似乎dir命令不允许获取绝对路径,即使使用/s进行递归操作 基本上我想的是: set classpath = ./conf for %%i in (`dir /s /withaboslutepath *.jar`) do set classpath = %classpath%;"%%x" 有什么方法可以做到这一点吗?我创建了如下内容:
lib
文件夹下包含的所有*.jar
文件自动生成一个类路径
我找不到一种方法来列出所有这些文件及其绝对路径,这样我就可以构建我的classpath
变量
似乎dir
命令不允许获取绝对路径,即使使用/s
进行递归操作
基本上我想的是:
set classpath = ./conf
for %%i in (`dir /s /withaboslutepath *.jar`) do set classpath = %classpath%;"%%x"
有什么方法可以做到这一点吗?我创建了如下内容:
setlocal EnableDelayedExpansion
set classpath=./conf
FOR /R . %%x IN (*.jar) do set classpath=!classpath!;"%%~px"
echo !classpath!
endlocal
此解决方案的问题在于路径重复。是否编写一个执行此操作的程序?您的示例为找到的每个jar添加了路径..错误不,它没有。如果在同一个目录中有两个jar文件,这个目录将被添加两次到类路径变量中。哦,是的。。。实际上,我需要指定jar文件本身,所以我将您的%%~px替换为%%x。谢谢!