Board logo

标题: [转贴]cmd脚本----tree命令的htm版 [打印本页]

作者: electronixtar     时间: 2006-6-21 21:28    标题: [转贴]cmd脚本----tree命令的htm版
cmd脚本----tree命令的htm版 bbs.et8.net/bbs/show ... 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 ]

作者: 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
果然很强!佩服 抄下来学习!