Board logo

标题: [转贴][讨论]生成《CMD命令速查手册》的批处理 [打印本页]

作者: willsort     时间: 2005-12-20 13:00    标题: [转贴][讨论]生成《CMD命令速查手册》的批处理

To All:

      在“百度:知道:DOS吧”翻到了一篇帖子,提到了如何生成《CMD命令速查手册》,因为不是原创文章,就不再提供链接了。大家可以通过搜索引擎找到。不知道这位作者 junluck 是否是论坛中的哪位,不妨一起参与探讨一下。如果获到一个良好而稳定的版本,我会将此主题转移至“教学室”。

      对代码进行初步研究后,作了一些小的改进,主要合并了XP与非XP环境下(可能是NT4/2K)的两段代码,再就是将目录表格化等细节上的改变。因为没有非XP的NT系统,所以无法做出更全面的测试。如果出现问题,我会换用另一种方案处理HELP命令输出。
@echo off
del CMD命令速查手册.htm >nul
echo.===============================
echo......请稍候,构造htm文件中.....
echo.===============================

>CMD命令速查手册.htm echo ^<head^>
>>CMD命令速查手册.htm echo ^<title^>CMD命令速查手册^</title^>
>>CMD命令速查手册.htm echo ^<meta http-equiv="Content-Type" content="text/html^; charset=gb2312" ^/^>
>>CMD命令速查手册.htm echo ^</head^>
>>CMD命令速查手册.htm echo ^<A NAME="Top"^>
>>CMD命令速查手册.htm echo ^<center^>
>>CMD命令速查手册.htm echo ^<h1^>CMD 命令速查手册^</h1^>
>>CMD命令速查手册.htm echo Written by junluck    %date%
>>CMD命令速查手册.htm echo ^</center^>
>>CMD命令速查手册.htm echo ^<br^>

ver|find "Windows XP" && goto:joke

for /f "tokens=1*" %%i in ('help^|more +3') do (
help %%i>nul && echo ^<a href="#%%i"^>%%i^</a^>^ ^ %%j >>CMD命令速查手册.htm || echo ^ ^ ^ ^  %%i %%j>>CMD命令速查手册.htm
>>CMD命令速查手册.htm echo ^</br^>
)

for /f  %%i in ('help^|more +3') do (
help %%i>nul && (
>>CMD命令速查手册.htm echo ^<a name="%%i"^>
>>CMD命令速查手册.htm echo ^<h2^>%%i^</h2^>
>>CMD命令速查手册.htm echo ^<pre^>
help %%i>>CMD命令速查手册.htm
>>CMD命令速查手册.htm echo ^</pre^>
>>CMD命令速查手册.htm echo ^<a href="#top"^>返回页首^</a^>
)
)
start CMD命令速查手册.htm
goto:eof

:joke
for /f "tokens=1*" %%i in ('help^|more +1') do (
help %%i>nul && echo ^ ^ ^ ^  %%i %%j>>CMD命令速查手册.htm || echo ^<a href="#%%i"^>%%i^</a^>^ ^ %%j >>CMD命令速查手册.htm  
>>CMD命令速查手册.htm echo ^</br^>
)

for /f  %%i in ('help^|more +1') do (
help %%i>nul || (
>>CMD命令速查手册.htm echo ^<a name="%%i"^>
>>CMD命令速查手册.htm echo ^<h2^>%%i^</h2^>
>>CMD命令速查手册.htm echo ^<pre^>
help %%i>>CMD命令速查手册.htm
>>CMD命令速查手册.htm echo ^</pre^>
>>CMD命令速查手册.htm echo ^<a href="#top"^>返回页首^</a^>
)
)
start CMD命令速查手册.htm

:: CMDHelp.cmd - Gather commands' help of CMD to HTML
:: Author: junluck
:: Modify: Will Sort - 2005-12-19 - CMD@WinXP
@echo off & setlocal
echo.========================================
echo 开始创建《CMD命令速查手册》,请稍候……
echo 创建网页文件头……
>CMDHelp.htm echo ^<head^>
>>CMDHelp.htm echo     ^<title^>CMD命令速查手册^</title^>
>>CMDHelp.htm echo     ^<meta http-equiv="Content-Type" content="text/html^; charset=gb2312" ^/^>
>>CMDHelp.htm echo ^</head^>
>>CMDHelp.htm echo ^<A NAME="Top"^>
>>CMDHelp.htm echo ^<center^>^<h1^>CMD 命令速查手册^</h1^>junluck - %date%^</center^>^<br^>
>>CMDHelp.htm echo ^<table^>

ver | findstr "XP">nul && set head=1 || set head=3

echo 创建帮助目录……
for /f "tokens=1* skip=%head%" %%i in ('help') do (
    echo %%i %%j | findstr /v "^[A-Z]" >>CMDHelp.htm
    if errorlevel 1 echo ^</td^>^</tr^>^<tr^>^<td^>^<a href="#%%i"^>%%i^</a^>^</td^>^<td^>^ ^ ^ %%j>>CMDHelp.htm
)
>>CMDHelp.htm echo ^</td^>^</tr^>^</table^>^<br^>^<a href="#top"^>返回页首^</a^>^<br^>

echo 创建帮助正文……
for /f  %%i in ('help^|findstr "^[A-Z]"') do (
    echo     获取命令 %%i 帮助文档……
    >>CMDHelp.htm echo ^<a name="%%i"^>^<h2^>%%i^</h2^>^<pre^>
    help %%i>>CMDHelp.htm
    >>CMDHelp.htm echo ^</pre^>^<a href="#top"^>返回页首^</a^>^<br^>^<br^>
)
echo 《CMD命令速查手册》创建完毕,任意键打开
echo.========================================
pause>nul && start CMDHelp.htm
[ Last edited by willsort on 2006-1-15 at 19:52 ]
作者: willsort     时间: 2006-1-11 15:07
To All:

      机缘巧合下,得到了 Win2000 系统的测试机会,终于发现二者在 help 文本的兼容性上存在很多问题。前后修改到了三个版本,才得到了勉强都满意的结果。欢迎有 WinNT4 或者 Win2003 的朋友进行测试,并请将程序屏幕输出和网页生成的结果上传,我需要了解各种平台下 help 文本格式的更多信息。
:: CMDHelp.cmd - Gather commands' help of CMD to HTML
:: Author: junluck
:: Modify 3: Will Sort - 2006-01-11 - CMD@Win2000 / CMD@WinXP
@echo off & setlocal EnableDelayedExpansion
echo.========================================
echo 开始创建《CMD命令速查手册》,请稍候……
echo 创建网页文件头……
>CMDHelp.htm echo ^<head^>
>>CMDHelp.htm echo     ^<title^>CMD命令速查手册^</title^>
>>CMDHelp.htm echo     ^<meta http-equiv="Content-Type" content="text/html^; charset=gb2312" ^/^>
>>CMDHelp.htm echo ^</head^>
>>CMDHelp.htm echo ^<A NAME="Top"^>
>>CMDHelp.htm echo ^<center^>^<h1^>CMD 命令速查手册^</h1^>%username% - %date%^</center^>^<br^>
>>CMDHelp.htm echo ^<table^>

echo 创建帮助目录……
for /f "delims=:" %%f in ('help^|findstr /n "^ASSOC"') do set head=%%f
set /a head-=1
if "%head%"=="0" (set head=) else set head=skip=%head%
for /f "%head% delims=" %%i in ('help') do (
    set str=%%i & set name=!str:~0,9! & set desc=!str:~9!
    echo.!name! | findstr /v "^[A-Z]" >nul && echo !desc! >>CMDHelp.htm
    if errorlevel 1 echo ^</td^>^</tr^>^<tr^>^<td^>^<a href="#!name!"^>!name!^</a^>^</td^>^<td^>^ ^ ^ !desc!>>CMDHelp.htm
)
>>CMDHelp.htm echo ^</td^>^</tr^>^</table^>^<br^>^<a href="#top"^>返回页首^</a^>^<br^>

echo 创建帮助正文……
for /f  %%i in ('help^|findstr "^[A-Z]"') do (
    >>CMDHelp.htm echo ^<a name="%%i"^>^<h2^>%%i^</h2^>^<pre^>
    help %%i>>CMDHelp.htm
    >>CMDHelp.htm echo ^</pre^>^<a href="#top"^>返回页首^</a^>^<br^>^<br^>
)
echo 《CMD命令速查手册》创建完毕,任意键打开
echo.========================================
pause>nul && start CMDHelp.htm

作者: chenall     时间: 2006-1-11 18:18
我是2003的系统
命令输出的<>格式和HTM的格式冲突,如下.
Microsoft DiskPart Copyright (C) 1999-2001 Microsoft Corporation.
On computer: USER4

Microsoft DiskPart 语法:
        diskpart [/s <script>] [/?]

        /s <script> - 使用一个 DiskPart 脚本。
        /?          - 显示这个帮助屏幕。
以上文件若存为一HTM文件,只能显示到diskpart [/S
这个得解决一下先
SC命令需要按'Y'键继续
以下两个是VBS角本的命令可以略过.
DRIVERQUERY    显示当前设备驱动程序状态和属性。
EVENTQUERY     显示指定准则的事件日志项目。
以上两个命令会出现VBS解本的提示窗口.
其它的好像没有什么问题.
附件 1: CMDHelp.rar (2006-1-11 18:18, 29.55 K, 下载附件所需积分 1点 ,下载次数: 211)

作者: xiaojun     时间: 2006-1-13 01:12
以下几年前在国外网站看到的,不知是否是它的源文:
@ECHO OFF
IF "%OS%"=="Windows_NT" SETLOCAL

:: Version number for this batch file
SET MyVer=1.30

:: Display "about"
ECHO.
ECHO AllHelp.bat,  Version %MyVer% for Windows NT 4 / 2000 / XP
ECHO Generate an HTML help file for "all" available commands
ECHO.
ECHO Written by van der Woude
ECHO [url]www.forumit.ronderwoude.com[/url]
ECHO.
ECHO.

IF NOT "%OS%"=="Windows_NT" SET MyVer=
IF NOT "%OS%"=="Windows_NT" GOTO End

ECHO Writing HTML header . . .
> allhelp.htm ECHO ^<HTML^>
>>allhelp.htm ECHO ^<HEAD^>
:: Read Windows version using VER command
FOR /F "tokens=1 delims=[" %%A IN ('VER') DO SET Ver=%%A
FOR /F "tokens=1* delims= " %%A IN ('ECHO.%Ver%') DO SET Ver=%%B
:: Read latest Service Pack from registry
CALL :GetSP
>>allhelp.htm ECHO ^<TITLE^>Help for all %Ver%%SP% commands^</TITLE^>
>>allhelp.htm ECHO ^<META NAME="generator" CONTENT="AllHelp.bat, Version %MyVer%, by Rob van der Woude"^>
>>allhelp.htm ECHO ^</HEAD^>
>>allhelp.htm ECHO.
>>allhelp.htm ECHO ^<BODY^>
>>allhelp.htm ECHO.
>>allhelp.htm ECHO ^<A NAME="Top"^>
>>allhelp.htm ECHO.
>>allhelp.htm ECHO ^<CENTER^>
>>allhelp.htm ECHO ^<H1^>%Ver%%SP% commands^</H1^>
FOR /F "tokens=* delims=" %%A IN ('VER') DO SET Ver=%%A
>>allhelp.htm ECHO ^<H3^>%Ver%^</H3^>
>>allhelp.htm ECHO ^</CENTER^>
>>allhelp.htm ECHO.
>>allhelp.htm ECHO ^<P^>^&nbsp;^</P^>
>>allhelp.htm ECHO.

ECHO Creating command index table . . .
SET FirstCell=1
>>allhelp.htm ECHO ^<TABLE BORDER="0"^>
:: MORE's /T switch translates tabs to a fixed number of spaces; tip by Johan Parlevliet
:: In NT 4, MORE's /E switch may be necessary; tip by Ulf Lindb刢k
FOR /F "tokens=* delims=" %%A IN ('HELP ^| MORE /E /T8') DO CALL :DispLine "%%A"
>>allhelp.htm ECHO ^</TD^>^</TR^>
>>allhelp.htm ECHO ^</TABLE^>
>>allhelp.htm ECHO.
>>allhelp.htm ECHO ^<P^>^&nbsp;^</P^>
>>allhelp.htm ECHO.

ECHO Writing help for each command:
:: MORE's /T switch translates tabs to a fixed number of spaces; tip by Johan Parlevliet
:: In NT 4, MORE's /E switch may be necessary; tip by Ulf Lindb刢k
FOR /F "tokens=* delims=" %%A IN ('HELP ^| MORE /E /T8') DO CALL :DispFull "%%A"

ECHO Closing HTML file
>>allhelp.htm ECHO.
>>allhelp.htm ECHO ^<CENTER^>
>>allhelp.htm ECHO ^<P^>This HTML help file was generated by:^<BR^>
>>allhelp.htm ECHO ^<B^>AllHelp.bat^</B^>, Version %MyVer%
>>allhelp.htm ECHO for Windows NT^&nbsp;4^&nbsp;/^&nbsp;2000^&nbsp;/^&nbsp;XP^<BR^>
>>allhelp.htm ECHO Written by Rob van der Woude^<BR^>
>>allhelp.htm ECHO ^<A HREF="www.forumit.ronderwoude.com"^>[url]www.forumit.ronderwoude.com[/url]^</A^>^</P^>
>>allhelp.htm ECHO ^</CENTER^>
>>allhelp.htm ECHO.
>>allhelp.htm ECHO ^</BODY^>
>>allhelp.htm ECHO ^</HTML^>

ECHO.
ECHO An HTML help file "allhelp.htm" has been created and stored in the current
ECHO directory.
ECHO Now starting display of "allhelp.htm" . . .
START "AllHelp" allhelp.htm

:: End of main batch program
ENDLOCAL
GOTO:EOF


:: Subroutines


:DispLine
SET Line=%1
SET Line=%Line:(=^(%
SET Line=%Line:)=^)%
SET Line=%Line:"=%
SET Command=%Line:~0,8%
SET Command=%Command: =%
IF DEFINED Command CALL :DispCmdLine %Command%
FOR /F "tokens=1* delims= " %%a IN ('ECHO.%*') DO SET Descr=%%b
SET Descr=%Descr:"=%
>>allhelp.htm ECHO.%Descr%
GOTO:EOF


:DispCmdLine
IF "%FirstCell%"=="0" IF DEFINED Command (>>allhelp.htm ECHO ^</TD^>^</TR^>)
SET Command=%1
IF DEFINED Command (>>allhelp.htm ECHO ^<TR^>^<TH ALIGN="left" VALIGN="top"^>^<A HREF="#%Command%"^>%Command%^</A^>^</TH^>^<TD^>^&nbsp;^&nbsp;^&nbsp;^</TD^>^<TD^>)
SET FirstCell=0
SET Command=
GOTO:EOF


:DispFull
SET Line=%1
SET Command=%Line:~1,8%
SET Command=%Command: =%
IF DEFINED Command CALL :WriteFull %Command%
SET Command=
GOTO:EOF


:GetSP
SET SP=
:: Export registry tree to temporary file
START /WAIT REGEDIT.EXE /E "%Temp%.\%~n0.dat" "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
IF NOT EXIST "%Temp%.\%~n0.dat" GOTO:EOF
:: Read value of "CSDVersion" from temporary file
FOR /F "tokens=2 delims==" %%A IN ('TYPE "%Temp%.\%~n0.dat" ^| FIND /I "CSDVersion"') DO SET SP=%%~A
:: Check if value is valid
ECHO.%SP% | FIND /I "Service Pack" >NUL
IF ERRORLEVEL 1 SET SP=
DEL "%Temp%.\%~n0.dat"
:: Use a shorter notation
IF DEFINED SP SET SP=%SP:Service Pack=SP%
GOTO:EOF


:WriteFull
ECHO.  %1 . . .
>>allhelp.htm ECHO ^<A NAME="%1"^>
>>allhelp.htm ECHO.
>>allhelp.htm ECHO ^<H2^>%1^</H2^>
>>allhelp.htm ECHO.
>>allhelp.htm ECHO ^<PRE^>
>>allhelp.htm HELP %1
>>allhelp.htm ECHO ^</PRE^>
>>allhelp.htm ECHO.
>>allhelp.htm ECHO ^<A HREF="#Top"^>Back to the top of this page^</A^>
>>allhelp.htm ECHO.
>>allhelp.htm ECHO ^<P^>^&nbsp;^</P^>
>>allhelp.htm ECHO.
GOTO:EOF

:End
[ Last edited by willsort on 2006-1-15 at 19:02 ]
作者: willsort     时间: 2006-1-15 19:24
Re  chenall:

      因为个人原因,无法及时回复,深感抱歉!

      感谢兄所提供的测试报告,在2003下果然具有更复杂的细节,对应你所提到的几点修正了一个版本,显然它的效率越来越低了,而且它仍很有可能出现问题。因为这个版本只在 XP 下进行了测试,无法针对 2003 进行测试,所以其他平台的测试,还请 chenall 和其他兄弟施以援手了。

Re  xiaojun:

      感谢你提供的信息,我会仔细研究它的细节,同时希望可以提供代码的来源链接。另外,我在你帖子中的代码前后加入了 [code] 标签,以免标签的转义。
:: CMDHelp.cmd - Gather commands' help of CMD to HTML
:: Author: junluck
:: Modify 4: Will Sort - 2006-01-15 - CMD@WinXP
@echo off & setlocal EnableDelayedExpansion
echo.========================================
echo 开始创建《CMD命令速查手册》,请稍候……
echo 创建网页文件头……
>CMDHelp.htm echo ^<head^>
>>CMDHelp.htm echo     ^<title^>CMD命令速查手册^</title^>
>>CMDHelp.htm echo     ^<meta http-equiv="Content-Type" content="text/html^; charset=gb2312" ^/^>
>>CMDHelp.htm echo ^</head^>
>>CMDHelp.htm echo ^<A NAME="Top"^>
>>CMDHelp.htm echo ^<center^>^<h1^>CMD 命令速查手册^</h1^>%username% - %date%^</center^>^<br^>
>>CMDHelp.htm echo ^<table^>

echo 创建帮助目录……
for /f "delims=:" %%f in ('help^|findstr /n "^ASSOC"') do set head=%%f
set /a head-=1
if "%head%"=="0" (set head=) else set head=skip=%head%
for /f "%head% delims=" %%i in ('help') do (
    set str=%%i & set name=!str:~0,9! & set desc=!str:~9!
    echo.!name! | findstr /v "^[A-Z]" >nul && echo !desc! >>CMDHelp.htm
    if errorlevel 1 echo ^</td^>^</tr^>^<tr^>^<td^>^<a href="#!name!"^>!name!^</a^>^</td^>^<td^>^ ^ ^ !desc!>>CMDHelp.htm
)
>>CMDHelp.htm echo ^</td^>^</tr^>^</table^>^<br^>^<a href="#top"^>返回页首^</a^>^<br^>

echo 创建帮助正文……
for /f  %%i in ('help^|findstr "^[A-Z]"') do (
    >>CMDHelp.htm echo ^<a name="%%i"^>^<h2^>%%i^</h2^>^<pre^>
    if not "%%i"=="DRIVERQUERY" if not "%%i"=="EVENTQUERY" (
        if "%%i"=="SC" (
            echo Y | help %%i | findstr "<.*>" >nul
        ) else help %%i | findstr "<.*>" > nul
        if not errorlevel 1 (
            for /f "delims=" %%a in ('help %%i') do (
                set st=%%a & set st=!st:^<=^&lt;! & set st=!st:^>=^&gt;!
                echo !st!>> CMDHelp.htm
            )
        ) else help %%i>>CMDHelp.htm
        >>CMDHelp.htm echo ^</pre^>^<a href="#top"^>返回页首^</a^>^<br^>^<br^>
    )
)

echo 《CMD命令速查手册》创建完毕,任意键打开
echo.========================================
pause>nul && start CMDHelp.htm
[ Last edited by willsort on 2006-1-15 at 19:54 ]
作者: chenall     时间: 2006-1-19 20:08
sc命令还是需要按Y没办法跳过。
我重新修改了一下,在WINDOWS 2003上运行正常了,到SC时需要按Y才能继续.
:: CMDHelp.cmd - Gather commands' help of CMD to HTML
:: Author: junluck
:: Modify 4: Will Sort - 2006-01-15 - CMD@WinXP
@echo off & setlocal EnableDelayedExpansion
echo.========================================
echo 开始创建《CMD命令速查手册》,请稍候……
echo 创建网页文件头……
>CMDHelp.htm echo ^<head^>
>>CMDHelp.htm echo     ^<title^>CMD命令速查手册^</title^>
>>CMDHelp.htm echo     ^<meta http-equiv="Content-Type" content="text/html^; charset=gb2312" ^/^>
>>CMDHelp.htm echo ^</head^>
>>CMDHelp.htm echo ^<A NAME="Top"^>
>>CMDHelp.htm echo ^<center^>^<h1^>CMD 命令速查手册^</h1^>%username% - %date%^</center^>^<br^>
>>CMDHelp.htm echo ^<table^>

echo 创建帮助目录……
for /f "delims=:" %%f in ('help^|findstr /n "^ASSOC"') do set head=%%f
set /a head-=1
if "%head%"=="0" (set head=) else set head=skip=%head%
for /f "%head% delims=" %%i in ('help') do (
    set str=%%i & set name=!str:~0,9! & set desc=!str:~9!
    echo.!name! | findstr /v "^[A-Z]" >nul && echo !desc! >>CMDHelp.htm
    if errorlevel 1 echo ^</td^>^</tr^>^<tr^>^<td^>^<a href="#!name!"^>!name!^</a^>^</td^>^<td^>^ ^ ^ !desc!>>CMDHelp.htm
)
>>CMDHelp.htm echo ^</td^>^</tr^>^</table^>^<br^>^<a href="#top"^>返回页首^</a^>^<br^>

echo 创建帮助正文……
::将默认的脚本宿主改为 cScript.exe,不知还有没有更好的办法
cscript //h:cscript //b
::因为有一些命令需要使用cscript来启动
for /f  %%i in ('help^|findstr "^[A-Z]"') do (
    >>CMDHelp.htm echo ^<a name="%%i"^>^<h2^>%%i^</h2^>^<pre^>
    echo 正在创建 %%i 的帮助正文中……
    if /I "%%i"=="SC" echo 请按Y键继续……
    help %%i | findstr "<.*>" >nul
    if not errorlevel 1 (
         for /f "delims=" %%a in ('help %%i') do (
                set st=%%a & set st=!st:^<=^&lt;! & set st=!st:^>=^&gt;!
                echo !st!>> CMDHelp.htm
            )
        ) else help %%i>>CMDHelp.htm
        >>CMDHelp.htm echo ^</pre^>^<a href="#top"^>返回页首^</a^>^<br^>^<br^>
    )


echo 《CMD命令速查手册》创建完毕,任意键打开
echo.========================================
pause>nul && start CMDHelp.htm

作者: redtek     时间: 2006-11-25 21:14
精彩的内容,收藏~:)
作者: lxmxn     时间: 2006-11-26 09:12

  精彩绝伦了,收藏使用了。。

作者: ccwan     时间: 2006-11-26 21:03
学习了!
作者: gne3     时间: 2007-2-14 09:27
ding
作者: edeed     时间: 2007-3-1 02:31
这个值得学习哦....
作者: xiejiqq     时间: 2007-3-5 02:36    标题: ,

不会呢
作者: icehui     时间: 2007-3-7 09:27
看不懂呀
作者: yjhyxing     时间: 2007-3-12 03:51
看贴回贴,养成好习惯
作者: jackyggt     时间: 2007-3-13 08:36

作者: zzhh612     时间: 2007-3-23 08:04
好东西.收了.
作者: pmwz008     时间: 2007-3-23 09:00
看不懂
作者: mtiankong     时间: 2007-4-18 06:35
收藏学习中。。
作者: qiwei201     时间: 2007-4-20 00:16
各位都太牛了
作者: menglongfc     时间: 2007-4-22 01:18
不明白,我的就是做不成功啊,有好的呀告诉我的哦
作者: wgx1688     时间: 2007-4-24 04:49    标题: DDDDDDDDDDDDDDDDD

DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
作者: AnakinSKYwalker     时间: 2007-6-9 15:44
牛X 收藏了
作者: 574775633     时间: 2007-6-9 20:33
强人啊!!!!!!!!!!!!!!!!11
作者: ldr2zjj     时间: 2007-6-9 21:16
没看明白`~~~
作者: superhacker     时间: 2007-6-22 14:58
好东西`````````
作者: 42398500     时间: 2007-7-31 20:06
看看  哦,好想要哦
作者: kgdetg1127     时间: 2007-10-5 18:20
真是牛人。顶起!
作者: huake00     时间: 2007-10-8 15:21
十分好!

非常感谢!
作者: yumengcool     时间: 2008-1-5 23:15
呵呵,新手,还不太懂,得先学习下再来看,
作者: honghunter     时间: 2008-1-8 21:53
看着很爽,就是不知道为什么我用1楼的和6楼的生成的html文件,用IE打开都没内容显示。郁闷

我是XP系统,SP2 ,IE6.
作者: quest     时间: 2008-1-9 03:07
支持............
作者: knightak     时间: 2008-4-12 22:27
上面几个高手写的都不错,不过和那个老外的代码比起来有一点需要注意的
就是body 和 html标签最好加上,因为批量对网页套入模板的时候会自动查找那2个标签,不加这2个标签的时候模板套不上去。
我借花献佛稍改了一点点。
-------------------------------------------------------------------------

  Quote:

  1. :: CMDHelp.cmd - Gather commands' help of CMD to HTML
  2. :: Author: junluck
  3. :: Modify 4: Will Sort - 2006-01-15 - CMD@WinXP
  4. :: 发表于:http://www.cn-dos.net/forum/viewthread.php?tid=18321
  5. @echo off & setlocal EnableDelayedExpansion
  6. echo.========================================
  7. echo 开始创建《CMD命令速查手册》,请稍候……
  8. echo 创建网页文件头……
  9. >CMDHelp.htm echo ^<html^>
  10. >>CMDHelp.htm echo ^<head^>
  11. >>CMDHelp.htm echo     ^<title^>CMD命令速查手册^</title^>
  12. >>CMDHelp.htm echo     ^<meta http-equiv="Content-Type" content="text/html^; charset=gb2312" ^/^>
  13. >>CMDHelp.htm echo ^</head^>
  14. >>CMDHelp.htm echo ^<body^>
  15. >>CMDHelp.htm echo ^<A NAME="Top"^>
  16. >>CMDHelp.htm echo ^<center^>^<h1^>CMD 命令速查手册^</h1^>%username% - %date%^</center^>^<br^>
  17. >>CMDHelp.htm echo ^<table^>

  18. echo 创建帮助目录……
  19. for /f "delims=:" %%f in ('help^|findstr /n "^ASSOC"') do set head=%%f
  20. set /a head-=1
  21. if "%head%"=="0" (set head=) else set head=skip=%head%
  22. for /f "%head% delims=" %%i in ('help') do (
  23.     set str=%%i & set name=!str:~0,9! & set desc=!str:~9!
  24.     echo.!name! | findstr /v "^[A-Z]" >nul && echo !desc! >>CMDHelp.htm
  25.     if errorlevel 1 echo ^</td^>^</tr^>^<tr^>^<td^>^<a href="#!name!"^>!name!^</a^>^</td^>^<td^>^ ^ ^ !desc!>>CMDHelp.htm
  26. )
  27. >>CMDHelp.htm echo ^</td^>^</tr^>^</table^>^<br^>^<a href="#top"^>返回页首^</a^>^<br^>

  28. echo 创建帮助正文……
  29. ::将默认的脚本宿主改为 cScript.exe,不知还有没有更好的办法
  30. cscript //h:cscript //b
  31. ::因为有一些命令需要使用cscript来启动
  32. for /f  %%i in ('help^|findstr "^[A-Z]"') do (
  33.     >>CMDHelp.htm echo ^<a name="%%i"^>^<h2^>%%i^</h2^>^<pre^>
  34.     echo 正在创建 %%i 的帮助正文中……
  35.     if /I "%%i"=="SC" echo 请按Y键继续……
  36.     help %%i | findstr "<.*>" >nul
  37.     if not errorlevel 1 (
  38.          for /f "delims=" %%a in ('help %%i') do (
  39.                 set st=%%a & set st=!st:^<=^&lt;! & set st=!st:^>=^&gt;!
  40.                 echo !st!>> CMDHelp.htm
  41.             )
  42.         ) else help %%i>>CMDHelp.htm
  43.         >>CMDHelp.htm echo ^</pre^>^<a href="#top"^>返回页首^</a^>^<br^>^<br^>
  44.     )
  45. >>CMDHelp.htm echo ^</body^>^</html^>

  46. echo 《CMD命令速查手册》创建完毕,任意键打开
  47. echo.========================================
  48. pause>nul && start CMDHelp.htm
        作者发表于:  2008-04-12  22:14


作者: welky     时间: 2009-4-23 09:54
学习下先,谢谢!
作者: asnahu     时间: 2009-8-5 10:44    标题: 原文链接地址

原始链接地址:

http://www.robvanderwoude.com/wshexamples_a.php#AllHelp

包涵了NT 2000 XP SERVER2003帮助生成文件,同时还有一个VBS生成脚本。

另下面有VISTA SP1和WINDOWS 7帮助生成脚本:

http://www.robvanderwoude.com/allhelp.php

[ Last edited by asnahu on 2009-8-5 at 11:15 ]