中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 怎么获得路径的层数呀? 上一主题 | 下一主题
liudaibin
新手上路





积分 14
发帖 4
注册 2007-6-30
状态 离线
『楼 主』:  怎么获得路径的层数呀?

例如 C:\1\2\3\4有四层

2007-8-20 09:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
halulove
初级用户





积分 43
发帖 19
注册 2007-8-19
状态 离线
『第 2 楼』:  

@echo off
set file=c:\ab c\def\gh\cd
set count=0

:loop
if "%file:~-1%"=="\" set /a count+=1
set "file=%file:~0,-1%"
if not "%file%" == "" goto loop
echo count=%count%

pause

[ Last edited by halulove on 2007-8-20 at 10:39 AM ]

   此帖被 +1 点积分    点击查看详情   
评分人:【 liudaibin 分数: +1  时间:2007-8-20 14:49


2007-8-20 10:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
youxi01
高级用户




积分 846
发帖 247
注册 2006-10-27
来自 湖南==》广东
状态 离线
『第 3 楼』:  

其实这个问题论坛里有很多讨论了,也有很多的方法,楼上的也不错啊
@echo off
set "file=c:\ab c\def\gh\cd"
call :getpath "%file%"
echo 共有:%count%层
pause>nul
:getpath
for /f "delims=\ tokens=1,*" %%i in ("%~1") do (
    if "%%i"=="%~1" goto :eof
    set/a count+=1
    call :getpath "%%j")


2007-8-20 11:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 4 楼』:  

VBS:
file = "c:\ab c\def\gh\cd"
MsgBox UBound(Split(file,"\"))

2007-8-20 12:29
查看资料  发短消息 网志   编辑帖子  回复  引用回复
kich
中级用户





积分 397
发帖 168
注册 2006-10-8
状态 离线
『第 5 楼』:  

slore 兄的算法太牛了!!很简便!!

2007-8-25 13:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: