我有一个批处理文件正在检查parition以查看是否有一个hiberation文件。如果目录列表完成且找不到文件,它将输出:File Not Found,但由于某种原因,文本没有按我的意愿进入我的日志。如果有办法登录我的日志,请告诉我。
否则,我希望有一些代码基本上可以说,如果输出包含"找不到文件"然后记录文本" File Not Found"在我的输出日志中。如果是这样,它会自动记录我需要的信息,因此不需要任何信息。
set output=mylog.txt
echo.=================================>> "%output%"
echo.Performing Hibernation file Check...
echo.Hibernation File Check: >> "%output%"
C:
cd /
dir /a /s hiberfil.sys >> "%output%"
echo.
echo.
echo.=================================>> "%output%"
答案 0 :(得分:2)
准确回答标题then log statement A, otherwise statement B
(dir /a /s hiberfil.sys >nul 2>&1 && echo yes || echo no) >>"%Output%"
>nul 2>&
将所有输出(StdOut和StdErr)重定向到NUL:
&&
用作"如果之前的anser成功,那么......"
||
用作"如果以前的anser不成功,那么......"
但是,在构建批处理文件时,
dir /a /s /b hiberfil.sys >> "%output%" 2>&1
将是最好的答案。它只提供一行反馈 - "文件未找到"或包含完整路径的文件名。 (除了它找到几个匹配的文件 - 然后每个文件一行)
答案 1 :(得分:0)
将批处理文件中的dir命令更改为以下内容,同时将stderr输出到输出stdout的同一文件中。
dir /a /s hiberfil.sys >> "%output%" 2>>&1