标题: cmd命令帮助(为新手)
[打印本页]
作者: bat-zw
时间: 2008-4-22 00:14
标题: cmd命令帮助(为新手)
代码是复杂了点,但作用还是实在(简化ing...),请大家测试。
-----------------------------------
代码已优化,但5楼的代码更强,效率更高。
@echo off&color 9f
set n=1
for /f "delims= " %%i in ('help') do set str=%%i&call :lp %%str%%
:select
cls&echo %var1%&echo %var2%&echo %var3%&echo %var4%&echo %var5%
set select=0
set /p select=请选择要读取帮助的命令序号:
for /l %%i in (1,1,71) do if "%%i"=="%select%" goto show
echo 请正确选择。&ping /n 2 127.1>nul&goto select
:show
setlocal enabledelayedexpansion
set /a a=%select%%%16,b=select/17+1
if %a% equ 0 set a=16
set list=!!var%b%!!
for /f "tokens=%a% delims= " %%i in ("%list%") do set str=%%i
set str=%str:*.=%
cls&echo %str%命令的帮助内容如下:&echo.
%str% /? | more
endlocal&pause>nul&goto :select
:lp
for %%i in (a b c d e f g h i l m p r s t v x) do if /i "%%i"=="%str:~,1%" goto loop
goto :eof
:loop
set /a m+=1,v+=1
set var=%var% %v%.%str%
set var%n%=%var%
if %m% equ 16 set var=&set /a m-=16,n+=1
[
Last edited by zw19750516 on 2008-4-22 at 12:53 PM ]
作者: qq771311
时间: 2008-4-22 02:24
标题: 这是什么啊
这是什么啊
作者: hbagxbzyan
时间: 2008-4-22 04:54
我什么都不说了楼猪你弄的这个真他妈的实惠谢谢啊
作者: wang6542975
时间: 2008-4-22 10:17
顶!!!!!!!
作者: 26933062
时间: 2008-4-22 11:48
也来一个
:
@echo off&set "ko= "
setlocal enabledelayedexpansion
for /f "delims= " %%a in ('help^|findstr /i "^[a-z]"') do (
set /a n+=1&set _!n!=%%a!ko!
)
set _72=共71个命令
:loop
color 1f&title cmd 命令帮助
for /l %%a in (1 3 !n!) do (
set /a t=%%a+1,s=t+1
if !t! lss 10 (set l=0) else set "l="
call echo !l!%%a. !_%%a:~0,20! !l!!t!. %%_!t!:~0,20%% !l!!s!. %%_!s!:~0,10%%
)
set /p m=请输入编号查询相应命令帮助:&cls
set /a m=100!m!%%100
call set ok=%%_!m!%%
title %ok:~0,10% 命令帮助&color 1e
%ok% /? | more
color 5a&echo.&echo 按任意键回主菜单。。。
pause>nul
cls&goto loop
作者: bat-zw
时间: 2008-4-22 13:39
标题: 对5楼的代码关键部分我来做个小注释:
&&很多新手可能真搞不清楚这段代码是怎么把输入的纯数字关联到要查询的命令字符串上去的(我开始也没搞明白),其实,大家只要在"set _72=共71个命令"的下一行输入"echo !_12!&pause"(1-71间的任意数字)就会看到显示为"cls",而在"set /p m=请输入编号查询相应命令帮助:&cls"下面第二行"call set ok=%%_!m!%%"(m是查询时输入的数值假设为12),又将!_12!(也就是cls)赋值给了ok,那么接下来的"%ok% /? | more"="cls /? | more",也就是向cmd发出请求cls命令的帮助了。
至于其余部分应该还是好理解,我就不详细说明了。
[
Last edited by zw19750516 on 2008-4-22 at 01:42 PM ]
作者: zh159
时间: 2008-4-26 09:55
来个生成hta的,以后用鼠标点击就可以了^_^
::code zh159@bbs.cn-dos.net 2008-4-26
@echo off
title 命令提示符-命令行帮助信息生成器 - code zh159@bbs.cn-dos.net 2008-4-26
set Name=命令行帮助信息
echo.
echo 请稍等...
>%Name%.hta echo ^<html^>
>>%Name%.hta echo ^<title^>命令提示符-命令行帮助信息 - code zh159@bbs.cn-dos.net 2008-4-26^</title^>
>>%Name%.hta echo ^<HTA:APPLICATION
>>%Name%.hta echo APPLICATIONNAME="命令提示符-命令行帮助信息"
>>%Name%.hta echo SCROLL="no"
>>%Name%.hta echo INNERBORDER="no"
>>%Name%.hta echo /^>
>>%Name%.hta echo ^<script language="VBScript"^>
>>%Name%.hta echo window.resizeTo 900, 660
>>%Name%.hta echo ileft=(window.screen.width-900)/2
>>%Name%.hta echo itop=(window.screen.height-660)/2-15
>>%Name%.hta echo window.moveTo ileft,itop
>>%Name%.hta echo ^</script^>
>>%Name%.hta echo ^<style^>
>>%Name%.hta echo a:link {color: #000000; font:18px Tahoma; text-decoration:none;}
>>%Name%.hta echo a:visited {color: #000000; font:18px Tahoma; text-decoration:none;}
>>%Name%.hta echo a:hover {color: #ffffff; background-color:0000ff;}
>>%Name%.hta echo a:active {color: #ff0000; background-color:ffffff;}
>>%Name%.hta echo em {font:18px Tahoma; color:0000ff;}^</style^>
>>%Name%.hta echo ^</style^>
>>%Name%.hta echo ^<body style="FILTER: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#10bfff,endColorStr=#007db2);color:#ffffff;"^>
>>%Name%.hta echo ^<table width="100%%" height="100%%" align="center" border="0" cellspacing="0" cellpadding="1" style="border: solid 1 #ffffff;"^>
>>%Name%.hta echo ^<tr^>
>>%Name%.hta echo ^<td width="120" height="100%%"^>
>>%Name%.hta echo ^<span style="width:100%%;height:100%%; overflow-y: auto;"^>
>>%Name%.hta echo ^<table align="left"^>^<tr^>^<td^>
>>%Name%.hta echo 命令列表^<br^>
echo.
for /f %%i in ('help^|findstr /i "^[a-z]"') do (
set/a n+=1
call set/p= 共 %%n%% 个命令,正在处理...<nul
set /p=<nul
>>%Name%.hta echo. ^<a href="#%%i"^>%%i^</a^>^<br^>
)
>>%Name%.hta echo ^<td^>^<tr^>^</table^>
>>%Name%.hta echo ^</span^>
>>%Name%.hta echo ^</td^>
>>%Name%.hta echo ^<td^>
>>%Name%.hta echo ^<span style="width:100%%;height:100%%; overflow-y: auto;"^>
>>%Name%.hta echo ^<table align="left" style="font:15px Fixedsys;"^>^<tr^>^<td^>
echo.&echo.
echo 序号 - 命令名称
for /f %%i in ('help^|findstr /i "^[a-z]"') do (
set/a m+=1
call echo %%m%%. - %%i
>>%Name%.hta echo ^</p^>^<a name="#%%i"^>^</a^>^<em^>^<u^>%%i^</u^>^</em^>^<br^>
for /f "delims=" %%f in ('%%i/?') do (
set "str=%%f"
setlocal EnableDelayedExpansion
set str=!str: = !
set str=!str:^<=^<!
set str=!str:^>=^>!
>>%Name%.hta echo. !str!^<br^>
endlocal
)
)
>>%Name%.hta echo ^<td^>^<tr^>^</table^>
>>%Name%.hta echo ^</span^>
>>%Name%.hta echo ^</td^>
>>%Name%.hta echo ^</tr^>
>>%Name%.hta echo ^</table^>
>>%Name%.hta echo ^</body^>
>>%Name%.hta echo ^</html^>
echo.
echo 完成!按任意键打开“%Name%.hta”。
pause>nul
start %Name%.hta
exit
生成过程中加了变色处理,速度慢了N多
::code zh159@bbs.cn-dos.net 2008-4-26
@echo off
title 命令提示符-命令行帮助信息生成器 - code zh159@bbs.cn-dos.net 2008-4-26
set Name=命令行帮助信息
echo.
echo 请稍等...
>%Name%.hta echo ^<html^>
>>%Name%.hta echo ^<title^>命令提示符-命令行帮助信息 - code zh159@bbs.cn-dos.net 2008-4-26^</title^>
>>%Name%.hta echo ^<HTA:APPLICATION
>>%Name%.hta echo APPLICATIONNAME="命令提示符-命令行帮助信息"
>>%Name%.hta echo SCROLL="no"
>>%Name%.hta echo INNERBORDER="no"
>>%Name%.hta echo /^>
>>%Name%.hta echo ^<script language="VBScript"^>
>>%Name%.hta echo window.resizeTo 900, 660
>>%Name%.hta echo ileft=(window.screen.width-900)/2
>>%Name%.hta echo itop=(window.screen.height-660)/2-15
>>%Name%.hta echo window.moveTo ileft,itop
>>%Name%.hta echo ^</script^>
>>%Name%.hta echo ^<style^>
>>%Name%.hta echo a:link {color: #000000; font:18px Tahoma; text-decoration:none;}
>>%Name%.hta echo a:visited {color: #000000; font:18px Tahoma; text-decoration:none;}
>>%Name%.hta echo a:hover {color: #ffffff; background-color:0000ff;}
>>%Name%.hta echo a:active {color: #ff0000; background-color:ffffff;}
>>%Name%.hta echo em {font:18px Tahoma; color:0000ff;}^</style^>
>>%Name%.hta echo ^</style^>
>>%Name%.hta echo ^<body style="FILTER: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#10bfff,endColorStr=#007db2);color:#ffffff;"^>
>>%Name%.hta echo ^<table width="100%%" height="100%%" align="center" border="0" cellspacing="0" cellpadding="1" style="border: solid 1 #ffffff;"^>
>>%Name%.hta echo ^<tr^>
>>%Name%.hta echo ^<td width="120" height="100%%"^>
>>%Name%.hta echo ^<span style="width:100%%;height:100%%; overflow-y: auto;"^>
>>%Name%.hta echo ^<table align="left"^>^<tr^>^<td^>
>>%Name%.hta echo 命令列表^<br^>
echo.
for /f %%i in ('help^|findstr /i "^[a-z]"') do (
set/a n+=1
call set/p= 共 %%n%% 个命令,正在处理...<nul
set /p=<nul
>>%Name%.hta echo. ^<a href="#%%i"^>%%i^</a^>^<br^>
)
>>%Name%.hta echo ^<td^>^<tr^>^</table^>
>>%Name%.hta echo ^</span^>
>>%Name%.hta echo ^</td^>
>>%Name%.hta echo ^<td^>
>>%Name%.hta echo ^<span style="width:100%%;height:100%%; overflow-y: auto;"^>
>>%Name%.hta echo ^<table align="left" style="font:15px Fixedsys;"^>^<tr^>^<td^>
echo.&echo.
echo 序号 - 命令名称
for /f %%i in ('help^|findstr /i "^[a-z]"') do (
set/a m+=1
rem call echo %%m%%. - %%i
setlocal EnableDelayedExpansion
set /p= <nul&set /p= <nul>"!m!. - %%i"&findstr /a:c .* "!m!. - %%i*" 2>nul&set /p=<nul
endlocal
>>%Name%.hta echo ^</p^>^<a name="#%%i"^>^</a^>^<em^>^<u^>%%i^</u^>^</em^>^<br^>
for /f "delims=" %%f in ('%%i/?') do (
set "str=%%f"
setlocal EnableDelayedExpansion
set str=!str: = !
set str=!str:^<=^<!
set str=!str:^>=^>!
>>%Name%.hta echo. !str!^<br^>
endlocal
)
setlocal EnableDelayedExpansion
set /p= <nul&findstr /a:a .* "!m!. - %%i*" 2>nul&echo.&del /q "!m!. - %%i" 2>nul
endlocal
)
>>%Name%.hta echo ^<td^>^<tr^>^</table^>
>>%Name%.hta echo ^</span^>
>>%Name%.hta echo ^</td^>
>>%Name%.hta echo ^</tr^>
>>%Name%.hta echo ^</table^>
>>%Name%.hta echo ^</body^>
>>%Name%.hta echo ^</html^>
echo.
echo 完成!按任意键打开“%Name%.hta”。
pause>nul
start %Name%.hta
exit
作者: cad55
时间: 2008-4-26 10:21
好.好..............很好.............


作者: dospeng
时间: 2008-4-26 13:08
很强大