如何用Batch获取包含指定公共目录的所有目录列表
批量获取指定公共目录的路径问题
我想通过Batch脚本获取包含指定公共目录的文件夹路径,但现在输出的是所有目录的列表。
我当前使用的代码:
for /r /d %%s in (\myfolder\*) do ( @echo %%~fs )
目录结构如下:
- myfolder
- temp1
- common_directory
- temp2
- common_directory
- temp 3
- folder_3
- temp1
我只需要输出以下目录路径:
- myfolder/temp1/common_directory
- myfolder/temp2/common_directory
解决方案
方法一:直接递归定位目标目录
这种方式最直接高效,会递归搜索myfolder下所有名为common_directory的文件夹,直接输出其完整路径:
for /r "myfolder" /d %%s in (common_directory) do ( @echo %%~fs )
方法二:遍历一级子目录后检查目标目录
如果只需要检查myfolder下的一级子目录是否包含目标文件夹,可以用这个方式:
for /d %%s in ("myfolder\*") do ( if exist "%%s\common_directory\" ( @echo %%~fs\common_directory ) )
内容的提问来源于stack exchange,提问作者rani mane
相关产品推荐
相关产品推荐

