我正在运行一个批处理文件,该文件使用“reg query”命令检查许多注册表文件。我将其设置为向错误日志 (ErrorLog.txt) 发送错误消息,并告诉用户检查主要结果文本文件 (REGValues.txt) 中的错误日志。问题是我在 REGValues.txt 文件中得到了这些看似随机的空白行。如何防止它插入这些空行?
这是我的一段代码,就在它通常添加到空行的位置之后。
mkdir c:\temp2\
SET dirname=c:\temp2\
SET filename2=REGValues.txt
SET errlog=ErrorLog.txt
:_registryValues
@echo Scanning Registry Values
@echo HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\LegalNoticeText 1>> %dirname%/%errlog%
reg query "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\" /v LegalNoticeText /z 1>> %dirname%\%filename2% 2>> %dirname%\%errlog%
if errorLevel 1 echo Check Error Log 1>> %dirname%\%filename2%
@echo HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\LegalNoticeCaption 1>> %dirname%/%errlog%
reg query "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\" /v LegalNoticeCaption /z>> %dirname%\%filename2% 2>> %dirname%\%errlog%
if errorLevel 1 echo Check Error Log 1>> %dirname%\%filename2%
@echo HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultPassword 1>> %dirname%/%errlog%
reg query "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\" /v DefaultPassword /z >> %dirname%\%filename2% 2>> %dirname%\%errlog%
if errorLevel 1 echo Check Error Log 1>> %dirname%\%filename2%
@echo HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AdditionalBaseNamedObjectsProtectionMode 1>> %dirname%/%errlog%
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\" /v AdditionalBaseNamedObjectsProtectionMode /z >> %dirname%\%filename2% 2>> %dirname%\%errlog%
if errorLevel 0 echo Check Error Log 1>> %dirname%\%filename2%
@echo HKLM\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\EnablePortLocking 1>> %dirname%/%errlog%
reg query HKLM\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\ /v EnablePortLocking /z >> %dirname%\%filename2% 2>> %dirname%\%errlog%
if errorLevel 1 echo Check Error Log 1>> %dirname%\%filename2%
@echo HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\EnhancedSecurityLevel 1>> %dirname%/%errlog%
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\" /v EnhancedSecurityLevel /z >> %dirname%\%filename2% 2>> %dirname%\%errlog%
if errorLevel 1 echo Check Error Log 1>> %dirname%\%filename2%
@echo HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\LDAPServerIntegrity 1>> %dirname%/%errlog%
reg query HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\ /v LDAPServerIntegrity /z >> %dirname%\%filename2% 2>> %dirname%\%errlog%
if errorLevel 1 echo Check Error Log 1>> %dirname%\%filename2%
这是文本文件的样子,我也在发送结果:
Check Error Log
Check Error Log
Check Error Log
Check Error Log
Check Error Log
Check Error Log
它可以很好地打印出我的错误日志:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\LegalNoticeText
ERROR: The system was unable to find the specified registry key or value.
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\LegalNoticeCaption
ERROR: The system was unable to find the specified registry key or value.
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultPassword
ERROR: The system was unable to find the specified registry key or value.
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AdditionalBaseNamedObjectsProtectionMode
ERROR: The system was unable to find the specified registry key or value.
HKLM\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\EnablePortLocking
ERROR: The system was unable to find the specified registry key or value.
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\EnhancedSecurityLevel
ERROR: The system was unable to find the specified registry key or value.