msdos .bat文件中FOR循环的目录列表

ben*_*siu 4 directory for-loop dos batch-file

我正在寻找如何获取FOR循环中使用的所有目录的列表.

到目前为止,我一直在努力:

set folderList = (folder1 folder2 folder3 folder4)
FOR %%i in %folderList% do zip %%i D:\...my_path...\%%i\*.*
Run Code Online (Sandbox Code Playgroud)

是否有可能动态生成folderList?

Loï*_*HEL 6

假设您要列出c:\ temp的子目录

for /f %%i in ('dir c:\temp /ad /b') do echo %%i
Run Code Online (Sandbox Code Playgroud)

这将列出c:\ temp的foldernames,如果你想以递归方式获取它只需将/ s添加到dir命令:

for /f %%i in ('dir c:\temp /ad /b /s') do echo %%i
Run Code Online (Sandbox Code Playgroud)

至于@dbenham评论(谢谢)正确处理空间dirs只需添加tokens =*来:

 for /f "tokens=*" %%i in ('dir c:\temp /ad /b') do echo %%i
Run Code Online (Sandbox Code Playgroud)