我有一个批处理脚本循环遍历所有窗口错误,并将它们放在一个名为helplog2.txt
的文本文件中。但是,它们不是由空行分隔的,并且错误消息在它们之前没有错误编号。
有没有办法解决这个问题?
这是我的批处理脚本:
@echo off
If Exist HelpLog2.txt Del HelpLog2.txt
(for /l %%i in (0,1,99999) do net helpmsg %%i 1>NUL 2>&1 && echo %%i & net helpmsg %%i | findstr /i "[a-z]" >> HelpLog2.txt)
Start "" HelpLog2.txt
pause
使用此批次代码:
@echo off
del HelpLog2.txt 2>nul
for /L %%I in (0,1,9) do for /F delims^=^ eol^= %%J in ('%SystemRoot%\System32\net.exe helpmsg %%I 2^>^&1') do >>HelpLog2.txt echo %%I: %%J
for /L %%I in (10,1,99) do for /F delims^=^ eol^= %%J in ('%SystemRoot%\System32\net.exe helpmsg %%I 2^>^&1 ^| %SystemRoot%\System32\findstr.exe /V /C:"NET HELPMSG 3871"') do >>HelpLog2.txt echo %%I: %%J
for /L %%I in (100,1,999) do for /F delims^=^ eol^= %%J in ('%SystemRoot%\System32\net.exe helpmsg %%I 2^>^&1 ^| %SystemRoot%\System32\findstr.exe /V /C:"NET HELPMSG 3871"') do >>HelpLog2.txt echo %%I: %%J
for /L %%I in (1000,1,9999) do for /F delims^=^ eol^= %%J in ('%SystemRoot%\System32\net.exe helpmsg %%I 2^>^&1 ^| %SystemRoot%\System32\findstr.exe /V /C:"NET HELPMSG 3871"') do >>HelpLog2.txt echo %%I: %%J
for /L %%I in (10000,1,99999) do for /F delims^=^ eol^= %%J in ('%SystemRoot%\System32\net.exe helpmsg %%I 2^>^&1 ^| %SystemRoot%\System32\findstr.exe /V /C:"NET HELPMSG 3871"') do >>HelpLog2.txt echo %%I: %%J
start "" HelpLog2.txt
它需要几分钟才能完成,但最后你应该在格式良好的文件HelpLog2.txt
中获得所需信息。
要了解使用的命令及其工作方式,请打开命令提示符窗口,执行以下命令,并完全阅读为每个命令显示的所有帮助页面。
del /?
echo /?
findstr /?
for /?
net /?
net helpmsg /?