我想爲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