搜档网
当前位置:搜档网 › CMD命令速查手册

CMD命令速查手册

楼 主』: [转贴][讨论]生成《CMD命令速查手册》的批处理

To All:

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

对代码进行初步研究后,作了一些小的改进,主要合并了XP与非XP环境下(可能是NT4/2K)的两段代码,再就是将目录表格化等细节上的改变。因为没有非XP的NT系统,所以无法做出更全面的测试。如果出现问题,我会换用另一种方案处理HELP命令输出。
CODE: [Copy to clipboard]
--------------------------------------------------------------------------------

@echo off
del CMD命令速查手册.htm >nul
echo.===============================
echo......请稍候,构造htm文件中.....
echo.===============================

>CMD命令速查手册.htm echo ^
>>CMD命令速查手册.htm echo ^CMD命令速查手册^
>>CMD命令速查手册.htm echo ^
>>CMD命令速查手册.htm echo ^

>>CMD命令速查手册.htm echo ^
>>CMD命令速查手册.htm echo ^
>>CMD命令速查手册.htm echo ^CMD 命令速查手册^
>>CMD命令速查手册.htm echo Written by junluck %date%
>>CMD命令速查手册.htm echo ^

>>CMD命令速查手册.htm echo ^

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

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

for /f %%i in ('help^|more +3') do (
help %%i>nul && (
>>CMD命令速查手册.htm echo ^

>>CMD命令速查手册.htm echo ^%%i^
>>CMD命令速查手册.htm echo ^
help %%i>>CMD命令速查手册.htm
>>CMD命令速查手册.htm echo ^

>>CMD命令速查手册.htm echo ^
返回页首^
)
)
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 ^
%%i^^ ^ %%j >>CMD命令速查手册.htm
>>CMD命令速查手册.htm echo ^
)

for /f %%i in ('help^|more +1') do (
help %%i>nul || (
>>CMD命令速查手册.htm echo ^

>>CMD命令速查手册.htm echo ^%%i^
>>CMD命令速查手册.htm echo ^
help %%i>>CMD命令速查手册.htm
>>CMD命令速查手册.htm echo ^

>>CMD命令速查手册.htm echo ^
返回页首^


)
)
start CMD命令速查手册.htm
CODE: [Copy to clipboard]
--------------------------------------------------------------------------------

:: 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 ^
>>CMDHelp.htm echo ^CMD命令速查手册^
>>CMDHelp.htm echo ^
>>CMDHelp.htm echo ^

>>CMDHelp.htm echo ^

>>CMDHelp.htm echo ^^CMD 命令速查手册^junluck - %date%^^
>>CMDHelp.htm echo ^

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 ^^^^^
%%i^^^^ ^ ^ %%j>>CMDHelp.htm
)
>>CMDHelp.htm echo ^
^^^^
返回页首^^

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




※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!

2005-12-20 13:00


willsort
元老会员

Batchinger



积分 4388
发帖 1514
注册 2002-10-18
状态 离线 『第 2 楼』:

To All:

机缘巧合下,得到了 Win2000 系统的测试机会,终于发现二者在 help 文本的兼容性上存在很多问题。前后修改到了三个版本,才得到了勉强都满意的结果。欢迎有 WinNT4 或者 Win2003 的朋友进行测试,并请将程序屏幕输出和网页生成的结果上传,我需要了解各种平台下 help 文本格式的更多信息。
CODE: [Copy to clipboard]
--------------------------------------------------------------------------------

:: 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 ^
>>CMDHelp.htm echo ^CMD命令速查手册^
>>CMDHelp.htm echo

^
>>CMDHelp.htm echo ^
>>CMDHelp.htm echo ^

>>CMDHelp.htm echo ^^CMD 命令速查手册^%username% - %date%^^
>>CMDHelp.htm echo ^

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 ^^^^^
!name!^^^^ ^ ^ !desc!>>CMDHelp.htm
)
>>CMDHelp.htm echo ^
^^^^
返回页首^^

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




※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!

2006-1-11 15:07


chenall
银牌会员





积分 1257
发帖 462
注册 2002-12-23
来自 福建泉州
状态 离线 『第 3 楼』:

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

Microsoft DiskPart 语法:
diskpart [/s