中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-23 20:28
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,274 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]如何一次性获得所有命令的"/?"帮助?
可打印版本  2,788 / 15
第1楼 wydos 发表于 2006-06-16 17:43
中级用户 发帖 117 积分 304
[求助]如何一次性获得所有命令的"/?"帮助?
如何一次性获得在命令行中所有的"命令/?"帮助,并且把它保存在相应的"命令".txt中.
例如,cmd/? >>cmd.txt

[ Last edited by willsort on 2006-7-29 at 16:30 ]
第2楼 electronixtar 发表于 2006-06-16 18:08
铂金会员 发帖 2,672 积分 7,493
第3楼 namejm 发表于 2006-06-16 18:42
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  发一段自己最近写的代码上来,有点粗糙,其中部分参照了willsort的代码,希望对你有用。

  
第4楼 不得不爱 发表于 2006-06-16 21:08
超级版主 发帖 2,044 积分 5,310 来自 四川南充
楼上的把问题搞复杂了把?就两句命令就可以了!
help>a.txt
for /f %i in (a.txt) do @%i /?>>1.txt
第5楼 namejm 发表于 2006-06-16 21:19
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  呵呵,我那个脚本除了能一次性输出所有的CMD帮助信息之外,还能把每个命令的帮助内容保存在单独的文件里,能给用户一定的选择自由。
第6楼 不得不爱 发表于 2006-06-16 21:53
超级版主 发帖 2,044 积分 5,310 来自 四川南充
Originally posted by namejm at 2006-6-16 21:19:
  呵呵,我那个脚本除了能一次性输出所有的CMD帮助信息之外,还能把每个命令的帮助内容保存在单独的文件里,能给用户一定的选择自由。

即使把每个命令的帮助内容保存在单独的文件里也没有不要搞得那么复杂吧,可以用2个命令何必用那么多的命令!
第7楼 namejm 发表于 2006-06-16 22:32
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  简洁与方便,各取所需吧。
第8楼 willsort 发表于 2006-06-17 01:40
元老会员 发帖 1,512 积分 4,432
Re Ups:

其实 namejm 兄代码的核心也不过是一句:

for /f %%i in ('help^|findstr "^"') do help %%i >>DOS命令帮助信息.txt

但是,这样单纯的代码产生的文本内容未加修饰,存在较多的排版问题,因而可读性比较低。另外,此类文档一般用于临时备查,所以索引和定位功能的实现比较重要,但用批处理实现起来较为复杂,有很多细节可能无法考虑周全。

所以,楼主需要的是可能并非纯文本的cmd /?信息,而是2楼所提到的ntcmds.chm(Windows帮助文档的一部分)以及微软MSDN网站的知识和文档库。

生成《CMD命令速查手册》的批处理
http://www.cn-dos.net/forum/viewthread.php?tid=18321
第9楼 wydos 发表于 2006-06-17 09:39
中级用户 发帖 117 积分 304
我把我所有的dos命令先保存在1.txt中(每个命令占一行),然后做个bat:
for /f %%i in (1.txt) do %%i/?>>%%i.txt
但有些成功了,有些就不行,比如: 生成的for.txt,其内容为空,也就是说for/?的内容没有进for.txt中.
这时为什么?
第10楼 220110 发表于 2006-06-17 20:55
荣誉版主 发帖 313 积分 718
为什么不直接查看现成又详细的C:\WINDOWS\Help\ntcmds.chm??---见3742668版主签名.
第11楼 poyexinghun 发表于 2006-07-19 01:28
新手上路 发帖 4 积分 12 来自 襄阳城边看风景!
Originally posted by qwe1234567 at 2006-6-16 21:08:
楼上的把问题搞复杂了把?就两句命令就可以了!
help>a.txt
for /f %i in (a.txt) do @%i /?>>1.txt

呵呵,改下兄的代码,生成命令名帮助的文件,
for /f %i in (a.txt) do @%i /? > %i.txt
大多数可以生成,少数的不可以,请各位修改!

例如:
'FOR' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'中某个带标签的行。' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'IF' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

(使用2003系统)
第12楼 diyuxuehu 发表于 2006-07-28 12:28
初级用户 发帖 11 积分 26
我XP系统
help>a.txt
for /f %i in (a.txt) do @%i /?>>%i.txt
结果只生成A.TXT,别的没有拉,为什么啊????
第13楼 namejm 发表于 2006-07-28 13:19
荣誉版主 发帖 1,737 积分 5,226 来自 成都
Re diyuxuehu:

  那是因为a.txt同一行的内容中,不仅有命令,还有命令用途的简单说明,所以在for语句中,%i的内容是"命令+说明",所以呢,for语句执行错误,只留下了help>a.txt生成的a.txt。
第14楼 kclmx 发表于 2006-07-28 13:48
初级用户 发帖 15 积分 38
赫赫,俺別的沒看懂,到是学会一个保存文件名的方法:
dir *.exe /w/n o >c:\1.txt

请问,如果我想查*.exe和*.dll文件名并保存在一个文件里,應該怎麽写?


哦,会了,直接dir *.exe *.dll /w/n o >1.txt
哎,要学的東西還很多呀

仔細看看,这样的话 /n o的排序失效了,晕,如果不想分幵写
dir *.exe /w/n o >1.txt
dir *.dll /w/n o >>1.txt
如何用一句代碼實現?

[ Last edited by kclmx on 2006-7-28 at 14:32 ]
第15楼 willsort 发表于 2006-07-29 16:50
元老会员 发帖 1,512 积分 4,432
Re poyexinghun:

关于for/if命令的问题,可以将%i /?改为以下三句中任何一句:

help %i
call %i /?
cmd/c%i/?。

但同时考虑非命令串的剔除,则使用cmd/c%i/?最好的选择。如下:

for /f %c in ('help') do @cmd/c%c/? 2>nul
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023