[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] [已解决]批处理获取指定层级目录

本帖最后由 zhoubin 于 2024-10-22 16:22 编辑

H盘某文件夹目录:
  1. H:\我的备份\装机必备\网络工具\下载工具\Internet Download Manager\Internet Download Manager6.40.11(IDM)
  2. H:\我的备份\装机必备\网络工具\下载工具\百度云管家
  3. .
  4. .
  5. .
  6. .
复制代码
目录很多,不再列举了
想获取到四级目录就可以了:
  1. H:\我的备份\装机必备\网络工具\下载工具
  2. .
  3. .
  4. .
  5. .
复制代码
目录很多,不再列举
批处理怎么写,谢谢坛友们

2楼、3楼、5楼的代码,都可以列出指定层级的目录
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

谢谢,有用,谢谢了

TOP

把ad改为a-d
1

评分人数

TOP

顺便再问一下:
同时列出4级目录下的文件,要怎么写呢,谢谢您!

TOP

回复 4# zhoubin

再给一个匹配不同目录级数(绝对路径)的通用版本...
核心代码如下》调整代码第二行中的数字 4 即为目录级数
  1. @echo off &setlocal enabledelayedexpansion
  2. set "p=.:[^\\]*" &for /l %%n in (1,1,4) do set "p=!p!\\[^^\\]*"
  3. dir/b/s/ad|findstr "!p!$"
  4. endlocal&pause&exit/b
复制代码
示例代码如下》
  1. @echo off &setlocal enabledelayedexpansion
  2. echo,第2级
  3. set "p=.:[^\\]*" &for /l %%n in (1,1,2) do set "p=!p!\\[^^\\]*"
  4. dir/b/s/ad|findstr "!p!$"
  5. echo,第3级
  6. set "p=.:[^\\]*" &for /l %%n in (1,1,3) do set "p=!p!\\[^^\\]*"
  7. dir/b/s/ad|findstr "!p!$"
  8. echo,第4级
  9. set "p=.:[^\\]*" &for /l %%n in (1,1,4) do set "p=!p!\\[^^\\]*"
  10. dir/b/s/ad|findstr "!p!$"
  11. endlocal&pause&exit/b
复制代码
1

评分人数

TOP

本帖最后由 zhoubin 于 2024-10-22 10:52 编辑

谢谢,稍候,我测试一下,谢谢

64位Win10下测试,楼上两位的都可以用,谢谢楼上两位,谢谢!!

TOP

回复 1# zhoubin
  1. dir/b/s/ad|findstr ".:[^\\]*\\[^\\]*\\[^\\]*\\[^\\]*\\[^\\]*$"
复制代码
1

评分人数

TOP

本帖最后由 qixiaobin0715 于 2024-10-22 09:11 编辑
  1. dir /s /b /ad|findstr "\\.*\\.*\\.*\\.*"|findstr /v "\\.*\\.*\\.*\\.*\\.*"
复制代码
1

评分人数

TOP

返回列表