我有一个批处理文件,用于检查是否存在hiberation文件。如果目录清单完成,而文件未找到,它将输出: 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%"发布于 2016-01-12 20:09:48
将批处理文件中的dir命令更改为以下命令,以将stderr输出到输出stdout的同一文件。
dir /a /s hiberfil.sys >> "%output%" 2>>&1发布于 2016-01-12 20:52:25
正确回答标题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:
&&的作用是“如果先前的人成功的话.”
||的作用是“如果先前的人没有成功的话.”
但是当你的批处理文件生成的时候,
dir /a /s /b hiberfil.sys >> "%output%" 2>&1会是最好的答案。它只给出一行反馈--“文件未找到”或文件名(包括完整路径)。(除非它找到几个匹配的文件-然后每文件一行)
https://stackoverflow.com/questions/34752680
复制相似问题