我想为Windows cmd中的help
中的所有命令生成帮助生成器,并将其写入单独的文件。所以你问/?在cmd中键入help
时,列表上列出的所有命令上。 这里是我的代码的主要部分:生成帮助文件
rem mypath - it's a folder where I put my results
rem In help all command are written by capitals letters
for /f "tokens=1 usebackq" %%i in (`help^|findstr /B /R "[QWERTYUIOPASDFGHJKLZXCVBNM][QWERTYUIOPASDFGHJKLZXCVBNM]"`) do (
if NOT "%%i"=="GRAFTABL" (
if NOT "%%i"=="DISKPART" (
if NOT "%%i"=="SC" (
help %%i > !mypath!\%%i.txt
)
)
)
)
我使用[Q..M]所有序列中我经常EXP因为有一些问题,只是设置[AZ] 的,但问题是,在我的FOR和IF文件中 - REM命令有帮助。有谁知道为什么会这样? 要解决它,我用:
FOR/? >%mypath%\FOR.txt
IF/? >%mypath%\IF.txt
但我不明白为什么它是如此。
我仍然有对'FOR'和'与帮助IF'帮助文件某种程度上命令'REM'。你能解释你的正则表达式吗?[^^^^ o] - 你倒置了4次? –
cmd提示符和正则表达式都处理转义符,因此为了得到*一个*符号,单个脱字符符被转义,然后这两个脱字符又被转义。我发现只有[A-Z]我有两个额外的“For”行,所以我补充说“不匹配o作为第二个字符”。我尝试了两个首都的[A-Z] [A-Z],但它仍然匹配“For”。也许范围不区分大小写,或者只是一个错误。仅供参考,我运行了你的和我的,并且在FOR.txt或IF.txt文件中都没有REM。尝试“@echo help %% i> %% i.txt”,查看您正在生成的命令。 –
这是区域设置相关的。它适用于英语,但不适用于其他语言。 – dbenham