标题: [转贴][讨论]生成《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^>^ ^</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^>^ ^</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^ 4^ /^ 2000^ /^ 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^>^ ^ ^ ^</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^>^ ^</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:^<=^<! & set st=!st:^>=^>!
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:^<=^<! & set st=!st:^>=^>!
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: |
- :: CMDHelp.cmd - Gather commands' help of CMD to HTML
- :: Author: junluck
- :: Modify 4: Will Sort - 2006-01-15 - CMD@WinXP
- :: 发表于:http://www.cn-dos.net/forum/viewthread.php?tid=18321
- @echo off & setlocal EnableDelayedExpansion
- echo.========================================
- echo 开始创建《CMD命令速查手册》,请稍候……
- echo 创建网页文件头……
- >CMDHelp.htm echo ^<html^>
- >>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 ^<body^>
- >>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:^<=^<! & set st=!st:^>=^>!
- echo !st!>> CMDHelp.htm
- )
- ) else help %%i>>CMDHelp.htm
- >>CMDHelp.htm echo ^</pre^>^<a href="#top"^>返回页首^</a^>^<br^>^<br^>
- )
- >>CMDHelp.htm echo ^</body^>^</html^>
- echo 《CMD命令速查手册》创建完毕,任意键打开
- echo.========================================
- 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 ]