中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-24 05:03
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [转贴]cmd脚本----tree命令的htm版 查看 1,654 回复 9
楼 主 [转贴]cmd脚本----tree命令的htm版 发表于 2006-06-21 21:28 ·  IANA 局域网IP(Private-Use)
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
20年会员
UID 42173
性别 男
状态 离线
cmd脚本----tree命令的htm版

http://bbs.et8.net/bbs/showthread.php?t=673085

2005.7.3更新

进入目录,一层层点,嫌烦
tree命令只给看看。。不给点。。。我就是要点

tree命令的htm版

htm,css都没搞过,现学的,高手奸笑了

根目录下运行,测试,保存为tree_htm.cmd运行

代码:

@echo off
del tree.htm 2>nul

echo ===============tree命令的htm版===============
echo.
echo by hitme 2005.7.3 hitme@xiahaixiao.com
echo.
echo 可直接点击进入6层内目录,完美主义者请自行修改
echo =============================================
echo.
echo 请稍候.............

>end.htm echo ^<head^>
>>end.htm echo ^<meta http-equiv="Content-Type" content="text/html^; charset=gb2312" ^/^>
>>end.htm echo ^<style type="text/css"^>
>>end.htm echo ^<!--
>>end.htm echo a:active { text-decoration: none ; color: red ; font-size: 12pt }
>>end.htm echo a:visited { text-decoration: none ; color: green ; font-size: 12pt }
>>end.htm echo a:link { text-decoration: none ; font-size: 12pt }
>>end.htm echo --^>
>>end.htm echo ^</style^>
>>end.htm echo ^</head^>
>>end.htm echo ^<body^>

setlocal ENABLEDELAYEDEXPANSION
for /f "skip=2 delims=" %%i in ('tree') do (
set n=%%i

if "!n:~1,1!"==":" set n0=!n:~0,2!

if "!n:~1,1!"=="─" (set n1=!n:~2!
set n2=
set n3=
set n4=
set n5=
set n6=
set n7=)
if "!n:~4,1!"=="─" (set n2=!n:~5!
set n3=
set n4=
set n5=
set n6=
set n7=)
if "!n:~5,1!"=="─" (set n2=!n:~6!
set n3=
set n4=
set n5=
set n6=
set n7=)

if "!n:~7,1!"=="─" (set n3=!n:~8!
set n4=
set n5=
set n6=
set n7=)
if "!n:~8,1!"=="─" (set n3=!n:~9!
set n4=
set n5=
set n6=
set n7=)
if "!n:~9,1!"=="─" (set n3=!n:~10!
set n4=
set n5=
set n6=
set n7=)

if "!n:~10,1!"=="─" (set n4=!n:~11!
set n5=
set n6=
set n7=)

if "!n:~11,1!"=="─" (set n4=!n:~12!
set n5=
set n6=
set n7=)

if "!n:~12,1!"=="─" (set n4=!n:~13!
set n5=
set n6=
set n7=)


if "!n:~13,1!"=="─" (set n5=!n:~14!
set n6=
set n7=)
if "!n:~14,1!"=="─" (set n5=!n:~15!
set n6=
set n7=)
if "!n:~15,1!"=="─" (set n5=!n:~16!
set n6=
set n7=)
if "!n:~16,1!"=="─" (set n5=!n:~17!
set n6=
set n7=)

if "!n:~17,1!"=="─" (set n6=!n:~18!)
if "!n:~18,1!"=="─" (set n6=!n:~19!)
if "!n:~19,1!"=="─" (set n6=!n:~20!)
if "!n:~20,1!"=="─" (set n6=!n:~21!)

set n=!n: =^&nbsp;!


>>end.htm echo ^<a href="!n0!\!n1!\!n2!\!n3!\!n4!\!n5!\!n6!" target="_blank"^>!n!^</a^>
>>end.htm echo ^</br^>

)
for /f "delims=" %%i in (end.htm) do (
set x=%%i
for /l %%a in (1,1,5) do (
set x=!x:\\=\!
)
echo !x!>>tree.htm
)
endlocal

del end.htm
start tree.htm


一直PF CCF上天神的编程风格

[ Last edited by electronixtar on 2006-6-21 at 21:29 ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
cooray +2 2007-11-24 09:29

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2 发表于 2006-06-23 17:07 ·  中国 湖南 常德 电信
银牌会员
★★★
积分 1,384
发帖 709
注册 2005-10-29 22:22
20年会员
UID 44271
状态 离线
要注册,下载不了,能不能传到这儿来?
3 发表于 2007-04-12 22:42 ·  中国 广东 广州 番禺区 电信
新手上路
积分 16
发帖 7
注册 2007-04-12 22:10
19年会员
UID 84909
性别 男
状态 离线
在根目录下执行可以,把它放在子目录里执行,生成html文件,里边的链接是错的,它把子目录的文件都当成是在根目录了
4 发表于 2007-04-12 23:54 ·  中国 河北 石家庄 电信
初级用户
积分 99
发帖 41
注册 2007-02-19 03:42
19年会员
UID 79773
性别 男
状态 离线
CCF咋老不收新人……
量子公民
5 发表于 2007-04-13 15:45 ·  中国 湖北 武汉 电信
初级用户
积分 68
发帖 30
注册 2007-01-16 07:05
19年会员
UID 76659
性别 男
状态 离线
跟三楼说的是一个情况。不在根目录下链接无效。看看楼主能不能改进一哈。
6 发表于 2007-04-13 23:56 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
改了一下,试过可以在任意目录(某些含有“!”的目录不行)

@echo off@echo off
del tree.htm 2>nul

echo ===============tree命令的htm版===============
echo.
echo by hitme 2005.7.3 hitme@xiahaixiao.com
echo.
echo 可直接点击进入6层内目录,完美主义者请自行修改
echo =============================================
echo.
echo 请稍候.............

>end.htm echo ^<head^>
>>end.htm echo ^<meta http-equiv="Content-Type" content="text/html^; charset=gb2312" ^/^>
>>end.htm echo ^<style type="text/css"^>
>>end.htm echo ^<!--
>>end.htm echo a:active { text-decoration: none ; color: red ; font-size: 12pt }
>>end.htm echo a:visited { text-decoration: none ; color: green ; font-size: 12pt }
>>end.htm echo a:link { text-decoration: none ; font-size: 12pt }
>>end.htm echo --^>
>>end.htm echo ^</style^>
>>end.htm echo ^</head^>
>>end.htm echo ^<body^>

setlocal ENABLEDELAYEDEXPANSION
for /f "skip=2 delims=" %%i in ('tree') do (
set /a num+=1
set n=%%i

if "!n:~1,1!"==":" set n0=!n:~0,2!

if "!n:~1,1!"=="─" (set n1=!n:~2!
set n2=
set n3=
set n4=
set n5=
set n6=
set n7=)
if "!n:~4,1!"=="─" (set n2=!n:~5!
set n3=
set n4=
set n5=
set n6=
set n7=)
if "!n:~5,1!"=="─" (set n2=!n:~6!
set n3=
set n4=
set n5=
set n6=
set n7=)

if "!n:~7,1!"=="─" (set n3=!n:~8!
set n4=
set n5=
set n6=
set n7=)
if "!n:~8,1!"=="─" (set n3=!n:~9!
set n4=
set n5=
set n6=
set n7=)
if "!n:~9,1!"=="─" (set n3=!n:~10!
set n4=
set n5=
set n6=
set n7=)

if "!n:~10,1!"=="─" (set n4=!n:~11!
set n5=
set n6=
set n7=)

if "!n:~11,1!"=="─" (set n4=!n:~12!
set n5=
set n6=
set n7=)

if "!n:~12,1!"=="─" (set n4=!n:~13!
set n5=
set n6=
set n7=)


if "!n:~13,1!"=="─" (set n5=!n:~14!
set n6=
set n7=)
if "!n:~14,1!"=="─" (set n5=!n:~15!
set n6=
set n7=)
if "!n:~15,1!"=="─" (set n5=!n:~16!
set n6=
set n7=)
if "!n:~16,1!"=="─" (set n5=!n:~17!
set n6=
set n7=)

if "!n:~17,1!"=="─" (set n6=!n:~18!)
if "!n:~18,1!"=="─" (set n6=!n:~19!)
if "!n:~19,1!"=="─" (set n6=!n:~20!)
if "!n:~20,1!"=="─" (set n6=!n:~21!)

set n=!n: = !

if "!num!" == "1" (>>end.htm echo ^<a href="!cd!\" target="_blank"^>!cd!^</a^>^</br^>
) else ( >>end.htm echo ^<a href="!cd!\!n1!\!n2!\!n3!\!n4!\!n5!\!n6!" target="_blank"^>!n!^</a^>^</br^> )

)
for /f "delims=" %%i in (end.htm) do (
set x=%%i
for /l %%a in (1,1,5) do (
set x=!x:\\=\!
)
echo !x!>>tree.htm
)
endlocal

del end.htm
start tree.htm


[ Last edited by zh159 on 2007-4-13 at 11:08 AM ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
cooray +2 2007-11-24 09:29
7 发表于 2007-11-24 09:24 ·  中国 北京 教育网
初级用户
积分 71
发帖 34
注册 2007-09-07 18:08
18年会员
UID 96808
性别 男
状态 离线
太强了,相当实用,十二分感谢!!^_^
8 发表于 2007-11-24 11:53 ·  中国 山东 青岛 联通
初级用户
★★
积分 107
发帖 60
注册 2007-11-07 22:03
18年会员
UID 102010
性别 男
状态 离线
太牛X了
9 发表于 2008-06-19 16:02 ·  中国 陕西 西安 联通
新手上路
积分 16
发帖 8
注册 2008-03-29 21:13
18年会员
UID 114388
性别 男
状态 离线
牛帖`不支持对不起楼主~
10 发表于 2008-06-19 16:45 ·  中国 四川 成都 教育网
初级用户
★★
积分 145
发帖 95
注册 2008-04-12 16:29
18年会员
UID 115703
性别 男
状态 离线
果然很强!佩服
抄下来学习!
论坛跳转: