标题已尽量浓缩和清楚了,希望能合版规,
这是我翻电脑发现的,是Written by Hitme的代码,(net命令htm构造.bat)运行后发现其中的链接不起作用,
以下代码我在单位电脑上能正常运行,家中居然不行,所以提出问题后,不能立即测试。- @echo off
- del net_help.htm 2>nul
- echo.
- echo......请稍候,构造htm文件中.....
- echo.>tmp.txt
- setlocal ENABLEDELAYEDEXPANSION
- for /f "tokens=1,2 delims=:" %%i in ('net help^|more +9^|findstr /n "."') do (
- set n=%%j
- if %%i gtr 0 (if %%i lss 10 (
- echo !n:~3,22!>>tmp.txt
- echo !n:~28,14!>>tmp.txt
- echo !n:~50,14!>>tmp.txt
- )
- )
- )
- for /f "tokens=1,2,3 delims= " %%i in ('sort tmp.txt') do (
- set x=%%i
- set y=%%j
- set z=%%k
- if exist !z! (>>tmp1.txt echo %%i %%y) else (>>tmp1.txt echo %%I %%y %%z)
- )
- endlocal
- >net_help.htm echo ^<head^>
- >>net_help.htm echo ^<title^>Help for Net commands^</title^>
- >>net_help.htm echo ^<meta http-equiv="Content-Type" content="text/html^; charset=gb2312" ^/^>
- >>net_help.htm echo ^</head^>
- >>net_help.htm echo ^<A NAME="Top"^>
- >>net_help.htm echo ^<center^>
- >>net_help.htm echo ^<h1^>Net 命令速查手册^</h1^>
- >>net_help.htm echo Written by Hitme
- >>net_help.htm echo ^</center^>
- for /f "delims=" %%i in (tmp1.txt) do (
- echo ^<a href="#%%i"^>%%i^</a^>^</br^>>>net_help.htm
- )
- for /f "delims=" %%i in (tmp1.txt) do (
- >>net_help.htm echo ^<a name="%%i"^>
- >>net_help.htm echo ^<h2^>%%i^</h2^>
- >>net_help.htm echo ^<pre^> %%i /help|more /s>>net_help.htm
- >>net_help.htm echo ^</pre^>
- >>net_help.htm echo ^<a href="#top"^>返回页首^</a^>
- )
- start net_help.htm
- del tmp*.txt
- pause
复制代码 情况是<a name="%%i">和]<a href="#%%i">%%i</a^>的%%i后面会多出数个空格,导致链接失效,手动去掉链接就好了,因此我把其中的部分代码修改了一下,想标红但没能成功(导致一楼跟帖),但发现在if exist !z! (echo !x! !y!>>tmp1.txt) else (echo !x! !y! !z!>>tmp1.txt)中,前面括号里的依然会带空格,后面括号里的就不带空格,单独echo 变量是没有空格的,搞了一个下午,不知所以,特询问大家高人,
原因何在,如何处理。
(不会发贴)因为是涉及网页的bat,语句不可避免htm语句,在网页上显示可能有兼容问题,请阅读者能见谅。
[ 本帖最后由 hlzj88 于 2009-10-13 22:38 编辑 ] |