标题: [其他] [已解决]批处理获取指定层级目录 [打印本页]
作者: zhoubin 时间: 2024-10-22 08:30 标题: [已解决]批处理获取指定层级目录
本帖最后由 zhoubin 于 2024-10-22 16:22 编辑
H盘某文件夹目录:- H:\我的备份\装机必备\网络工具\下载工具\Internet Download Manager\Internet Download Manager6.40.11(IDM)
- H:\我的备份\装机必备\网络工具\下载工具\百度云管家
- .
- .
- .
- .
复制代码
目录很多,不再列举了
想获取到四级目录就可以了:- H:\我的备份\装机必备\网络工具\下载工具
- .
- .
- .
- .
复制代码
目录很多,不再列举
批处理怎么写,谢谢坛友们
2楼、3楼、5楼的代码,都可以列出指定层级的目录
作者: qixiaobin0715 时间: 2024-10-22 09:08
本帖最后由 qixiaobin0715 于 2024-10-22 09:11 编辑
- dir /s /b /ad|findstr "\\.*\\.*\\.*\\.*"|findstr /v "\\.*\\.*\\.*\\.*\\.*"
复制代码
作者: aloha20200628 时间: 2024-10-22 09:15
回复 1# zhoubin - dir/b/s/ad|findstr ".:[^\\]*\\[^\\]*\\[^\\]*\\[^\\]*\\[^\\]*$"
复制代码
作者: zhoubin 时间: 2024-10-22 09:58
本帖最后由 zhoubin 于 2024-10-22 10:52 编辑
谢谢,稍候,我测试一下,谢谢
64位Win10下测试,楼上两位的都可以用,谢谢楼上两位,谢谢!!
作者: aloha20200628 时间: 2024-10-22 12:03
回复 4# zhoubin
再给一个匹配不同目录级数(绝对路径)的通用版本...
核心代码如下》调整代码第二行中的数字 4 即为目录级数- @echo off &setlocal enabledelayedexpansion
- set "p=.:[^\\]*" &for /l %%n in (1,1,4) do set "p=!p!\\[^^\\]*"
- dir/b/s/ad|findstr "!p!$"
- endlocal&pause&exit/b
复制代码
示例代码如下》- @echo off &setlocal enabledelayedexpansion
- echo,第2级
- set "p=.:[^\\]*" &for /l %%n in (1,1,2) do set "p=!p!\\[^^\\]*"
- dir/b/s/ad|findstr "!p!$"
- echo,第3级
- set "p=.:[^\\]*" &for /l %%n in (1,1,3) do set "p=!p!\\[^^\\]*"
- dir/b/s/ad|findstr "!p!$"
- echo,第4级
- set "p=.:[^\\]*" &for /l %%n in (1,1,4) do set "p=!p!\\[^^\\]*"
- dir/b/s/ad|findstr "!p!$"
- endlocal&pause&exit/b
复制代码
作者: zhoubin 时间: 2024-10-22 14:15
顺便再问一下:
同时列出4级目录下的文件,要怎么写呢,谢谢您!
作者: qixiaobin0715 时间: 2024-10-22 14:34
把ad改为a-d
作者: zhoubin 时间: 2024-10-22 14:55
谢谢,有用,谢谢了
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |