找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 34764|回复: 11

[代码合集] 有没办法用一批处理来查看文件夹层数?

[复制链接]
发表于 2012-6-3 22:33:37 | 显示全部楼层 |阅读模式
如一下A文件夹晨有数个子文件夹,而每个子文件夹中又各有许多的子子文件夹的,


有没有快捷的方法知道这个A文件夹中哪个子文件夹中包含了最深层的文件夹呢?

有批处理能不能做到呢?如果用其它其它工具,又该如何?我一在只知道一个个地打开看或者用tree列目录树。。。或右键属性,看包含了多少个文件夹。


提出这个问题的初衷是:

115网盘普通用户只能够上传5层文件夹,而我有一些文件夹中包含了过多的子文件夹,我是想在上传之前先检查一遍持哪个文件夹中的子文件夹超了。暂没发现比较快速的方法。。。
发表于 2012-6-3 23:20:38 | 显示全部楼层
针对标题中的问题批处理能做到但不够快捷,而针对你的初衷却有快捷方法:
列出超过5层的文件夹

  1. @echo off
  2. set "dir=G:\bt\upload"
  3. dir /ad/s/b "%dir%" | findstr /r /c:"%dir:\=\\%\\[^\\]*\\[^\\]*\\[^\\]*\\[^\\]*\\[^\\]*\\[^\\]*"
  4. pause
复制代码
 楼主| 发表于 2012-6-4 08:25:13 | 显示全部楼层
回复 2# powerbat


    能改成自动对当前目录进行分析吗?
发表于 2012-6-4 08:49:16 | 显示全部楼层
回复 3# xzwcn
  1. @echo off
  2. set "dir=%~dp0"
  3. dir /ad/s/b "%dir%" | findstr /r /c:"%dir:\=\\%\\[^\\]*\\[^\\]*\\[^\\]*\\[^\\]*\\[^\\]*\\[^\\]*"
  4. pause
复制代码
 楼主| 发表于 2012-6-4 09:29:02 | 显示全部楼层
回复 4# gawk


    这个未能正常获取超过5层的路径哦
发表于 2012-6-4 09:47:19 | 显示全部楼层
回复 5# xzwcn


    你把@echo off删掉,看看执行过程就明白了。
发表于 2012-6-4 10:31:54 | 显示全部楼层
这么神奇。学习一下。
发表于 2012-6-4 10:52:50 | 显示全部楼层
本帖最后由 yangfengoo 于 2012-6-4 22:46 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=*" %%a in ('dir /s/b /ad') do (
  3.    set x=%%a
  4.    set x=!x:%cd%=!
  5.    for /f "delims=\ tokens=5" %%b in ("!x!") do if not "%%b"=="" echo %%a
  6.    )
  7. pause
复制代码
 楼主| 发表于 2012-6-4 22:23:46 | 显示全部楼层
回复 6# gawk


    不好意思。。。还是不会使用
 楼主| 发表于 2012-6-4 22:25:38 | 显示全部楼层
回复 8# yangfengoo


    请问这个是怎么使用的呢?有空请耐心回复一下哦。
发表于 2012-6-4 22:42:59 | 显示全部楼层
本帖最后由 yangfengoo 于 2012-6-4 22:48 编辑

回复 10# xzwcn
在当前目录下运行,会列出以当前目录为参照超过5层的所有目录

由于疏忽,将测试代码的f.txt没改动。已修正,如果目录较多处理时间较长,请耐心等待
发表于 2012-6-5 06:51:42 | 显示全部楼层
回复 9# xzwcn


    跟2楼的执行过程对比一下,就会发现set赋值的时候多出来一个/
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 04:57 , Processed in 0.020279 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表