如何从.bat文件

时间:2015-10-11 17:32:15

标签: batch-file cmd

`@echo off
 chcp 1251>nul
 help | findstr /b [A-Z] > 1.txt
 for /F "tokens=1*" %%1 in ('1.txt') do (help %%1) > %%1.txt
 del 1.txt `

我想这应该以某种方式完成,但它不起作用。这应该“获取”命令的名称,然后将其用于“help命令”(如果是e,g则帮助),然后在txt文件中键入命令名称(使用echo ofc)。

2 个答案:

答案 0 :(得分:2)

以下内容应该有效:

@echo off
chcp 1251 > nul
help | findstr /B ".[ABCDEFGHIJKLMNOPQRSTUVWXYZ]" > 1.txt
for /F %%1 in (1.txt) do (help %%1) > %%1.txt
del 1.txt

''集合中1.txt周围有for,因此它被解释为命令而不是文本文件。

tokens=1*不是必需的,因为您只使用第一个令牌,因此tokens=1(默认值)就足够了。

但是,如果没有像这样的临时文件1.txt,您可以这样做:

@echo off
chcp 1251 > nul
for /F %%1 in ('help ^| findstr /B ".[ABCDEFGHIJKLMNOPQRSTUVWXYZ]"') do (help %%1) > %%1.txt

上述两个脚本都需要管理员权限才能在不中断的情况下运行,因为diskpart命令,即使显示帮助文本也需要这样的权限,这是愚蠢的。

SC命令将暂停脚本,因为y / n用户提示是否显示子命令query和{{1}的帮助也是。为了抑制这种情况,您可以尝试将这样的字母输入queryex,也就是说,将其添加到help %%1echo y|之前。

答案 1 :(得分:1)

以下是Rob van der Woude编码的重复内容..

http://www.robvanderwoude.com/sourcecode.php?src=allhelp_nt

我认为他的网站也有一些变化。

http://www.robvanderwoude.com/allhelp.php

感谢。