因此,我经常需要检查多个服务器的备份日志,然后必须将日志复制并粘贴到数据库中。我正在尝试编写一个会找到最新日志文件的.bat,执行FINDSTR查看备份是否成功,然后,如果成功,则将日志文件的文本复制到剪贴板,如果可能的话。除了剪贴板部分之外,我已经将其全部删除了,但它并没有像我想要的那样工作。
一些需要的信息 -
每个日志都保存到服务器的D:驱动器中。日志都使用以下约定命名:BK(日期) - (备份集).txt - 示例 - BK0901-001.txt。
目录中通常还有其他文件,并且使用相同的约定命名,除了使用VY前缀,或者它们将具有不同的扩展名,例如.xml文件 - 我需要避免带有任何前缀的文件除了BK和所有其他扩展。
@echo off
cd\
cls
set /p busrv=Server?
FOR /F "delims=|" %%I IN ('DIR "\\%busrv%\d$\logs\UltraBac\BK*.txt" /B /O:D') DO findstr /I /C:"Completed Without Errors or Warnings."
IF %errorlevel%==0 (COPY TO CLIPBOARD) echo BACKUPS PASSED
IF %errorlevel%==1 echo BACKUPS NOT PASSED
pause
答案 0 :(得分:0)
如果找到信息,那么它将在剪贴板上,否则剪贴板不会被更改。它没有经过测试:
@echo off
cls
set /p "busrv=Server? "
pushd "\\%busrv%\d$\logs\UltraBac\"
FOR /F "delims=" %%I IN ('DIR "bk*-*.txt" /B /O:D') DO set "file=%%I"
findstr /I /C:"Completed Without Errors or Warnings." "%file%" |clip
popd
pause