如何在for循环中获取文件夹的名称。我有以下目录结构
c:\Main\**FolderName1**\FolderName3\somefile.txt
c:\Main\**FolderName2**\FolderName4\somefile1.txt
我希望在for循环中获得 FolderName1 和 FolderName2 的名称。
这就是我现在正在做的事情:
set "errfolderpath=C:\Main\"
FOR /D /R %errfolderpath% %%K in (.\*) DO (
SET folderName=%%~nK
echo foldername=!folderName!
)
当我运行上面的程序时,它打印所有子文件夹的名称,而我只想要名称 FolderName1 和 FolderName2 ,而不是循环其余的文件夹。
我希望我能说清楚。 谢谢。
答案 0 :(得分:0)
/R folder
参数指定起始文件夹和递归搜索,而您只需要前者而不是后者。
因此,只需将您的根文件夹与文件掩码一起使用,如下所示:
set "errfolderpath=C:\Main\"
FOR /D %%K in ("%errfolderpath%*") DO (
SET folderName=%%~nK
echo foldername=!folderName!
)