如何遍历目录并将文件夹名称连接成字符串

如何遍历目录并将文件夹名称连接成字符串

如同问题,但使用文件夹名称而不是文件名。我目前用于连接文件的代码是

setlocal enabledelayedexpansion
set colorFileNames=
for %%f in (%CD%\automation\*) do (
  set _file=%%~nf
  if [!colorFileNames!]==[] (
    set colorFileNames=!_file!
    ) else (
    set colorFileNames=!colorFileNames!, !_file!
    )
)

输出类似于以下内容的内容fileName1, fileName2, ..., fileNameN,但显然它只适用于文件。我该如何修改它以使用文件夹名称而不是文件名?

答案1

我改变了一些东西以使其发挥作用:

setlocal enabledelayedexpansion
set graphicsSets=
for /D %%f in (%CD%\automation\*) do (
  set _folder=%%~nf
  if [!graphicsSets!]==[] (
    set graphicsSets=!_folder!
    ) else (
    set graphicsSets=!graphicsSets!, !_folder!
    )
)

/D 告诉循环遍历目录而不是文件,我将 () 中的内容替换为循环所在的文件夹的路径。其他一切都相同,因此修改并不太难。

相关内容