中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: cmd命令帮助(为新手) 上一主题 | 下一主题
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『楼 主』:  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 ]



批处理之家新域名:www.bathome.net
2008-4-22 00:14
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
qq771311
新手上路





积分 4
发帖 2
注册 2008-4-17
状态 离线
『第 2 楼』:  这是什么啊

这是什么啊

2008-4-22 02:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hbagxbzyan
新手上路





积分 10
发帖 5
注册 2008-4-19
状态 离线
『第 3 楼』:  

我什么都不说了楼猪你弄的这个真他妈的实惠谢谢啊

2008-4-22 04:54
查看资料  发送邮件  发短消息 网志  OICQ (496915132)  编辑帖子  回复  引用回复
wang6542975
初级用户





积分 123
发帖 62
注册 2008-4-9
状态 离线
『第 4 楼』:  

顶!!!!!!!

2008-4-22 10:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 5 楼』:  

也来一个
:
@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


   此帖被 +8 点积分       点击查看详情   
评分人:【 bat-zw 分数: +4  时间:2008-4-22 11:57
评分人:【 moniuming 分数: +4  时间:2008-4-22 23:45




致精致简!
2008-4-22 11:48
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 6 楼』:  对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 ]



批处理之家新域名:www.bathome.net
2008-4-22 13:39
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 7 楼』:  

来个生成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:^<=^&lt;!
    set str=!str:^>=^&gt;!
    >>%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:^<=^&lt;!
    set str=!str:^>=^&gt;!
    >>%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


   此帖被 +9 点积分       点击查看详情   
评分人:【 jmz573515 分数: +9  时间:2008-4-26 15:52




2008-4-26 09:55
查看资料  发短消息 网志   编辑帖子  回复  引用回复
cad55
高级用户





积分 620
发帖 329
注册 2007-12-5
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by zh159 at 2008-4-26 09:55 AM:
来个生成hta的,以后用鼠标点击就可以了^_^
[code]::code zh159@bbs.cn-dos.net 2008-4-26
@echo off
title 命令提示符-命令行帮助信息生成器 - code zh159@bbs.cn-dos.net ...

好.好..............很好.............

2008-4-26 10:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dospeng
新手上路





积分 4
发帖 2
注册 2008-4-9
状态 离线
『第 9 楼』:  

很强大

2008-4-26 13:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: