Batch file 如何从.bat文件启动帮助
我想应该这样做,但不起作用。这应该“获取”一个命令的名称,然后将其用于“帮助命令”(如果用于e,g,则为help),然后使用命令名称在txt文件中键入它(使用echo ofc)。以下操作应该有效:Batch file 如何从.bat文件启动帮助,batch-file,cmd,Batch File,Cmd,我想应该这样做,但不起作用。这应该“获取”一个命令的名称,然后将其用于“帮助命令”(如果用于e,g,则为help),然后使用命令名称在txt文件中键入它(使用echo ofc)。以下操作应该有效: `@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 ` 在的集合中,有'
`@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 `
在的集合中,有'
围绕着1.txt
,因此它被解释为一个命令而不是一个文本文件
tokens=1*
是不必要的,因为您只使用第一个令牌,所以默认的tokens=1
就足够了
但是,您可以在不使用临时文件1.txt的情况下执行相同的操作,如下所示:
@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
上述两个脚本都需要管理员权限才能在不中断的情况下运行,因为diskpart
命令需要管理员权限,即使是显示帮助文本也需要管理员权限
由于y
/n
用户提示是否显示子命令query
和queryex
的帮助,因此SC
命令将停止脚本。要抑制这种情况,您可以尝试将这样一封信导入help%%1
,也就是说,用echo y |
或echo n |
这是Rob van der编写的以下代码的重复
我认为他的网站也有一些变化
谢谢。@aschipfl-绝对不是真的,不管MS医生怎么说。几乎任何字符都可以用作变量。谢谢,@dbenham,我自己刚刚发现了更多信息,所以我将删除注释…该findstr regex的可能重复项不起作用,中的/F%1('help^ | findstr/b[A-Z][A-Z')do@echo%1
与('help')中的/F%1的相同。do@echo%1
如果您有grep,我建议帮助(^[A-Z][A-Z]+)”
我永远都不会明白查找数据。。。我将正则表达式改为“\”,所以它应该只返回大写单词的行。。。我没有grep
,但我一定会查出来的——谢谢你的提示,@paul还为区域语言do的编码问题添加了一个中间转换(help%%1>%tmp%\%%1.tmp“cmd/U/C type%tmp%\%%1.tmp>%%1.TXT)
@echo off
chcp 1251 > nul
for /F %%1 in ('help ^| findstr /B ".[ABCDEFGHIJKLMNOPQRSTUVWXYZ]"') do (help %%1) > %%1.txt