标题: [转贴]cmd脚本----tree命令的htm版
[打印本页]
作者: electronixtar
时间: 2006-6-21 21:28
标题: [转贴]cmd脚本----tree命令的htm版
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: =^ !
>>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 ]
作者: wl00560
时间: 2006-6-23 17:07
要注册,下载不了,能不能传到这儿来?
作者: xldos
时间: 2007-4-12 22:42
在根目录下执行可以,把它放在子目录里执行,生成html文件,里边的链接是错的,它把子目录的文件都当成是在根目录了
作者: airosp
时间: 2007-4-12 23:54
CCF咋老不收新人……
作者: fanglor
时间: 2007-4-13 15:45
跟三楼说的是一个情况。不在根目录下链接无效。看看楼主能不能改进一哈。
作者: zh159
时间: 2007-4-13 23:56
改了一下,试过可以在任意目录(某些含有“!”的目录不行)
@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 ]
作者: cooray
时间: 2007-11-24 09:24
太强了,相当实用,十二分感谢!!^_^
作者: kaikai163
时间: 2007-11-24 11:53
太牛X了
作者: lac312
时间: 2008-6-19 16:02
牛帖`不支持对不起楼主~
作者: Evangel
时间: 2008-6-19 16:45
果然很强!佩服
抄下来学习!