赞
踩
bat脚本输出日志的方法
bat脚本常用的的输出命令是“echo 输出内容”,可以利用echo将文本输出到cmd窗口或文件。bat脚本是不区分大小写的脚本语言,因此大小写都可以。
例如:
- REM 在命令行窗口输出
- echo Hello World!
- pause
则会在命令行窗口输出Hello World!
通过bat打开命令行窗口运行上面的命令还会输出CMD运行相关的提示信息。如果想关闭多余的输出可以用 @ECHO OFF,示例:
- @ECHO OFF
- REM 在命令行窗口纯净的输出
- echo Hello World!
- pause
可以使用重定向将输出结果保存到文件中。
>符号和>>符号为两个常用的重定向符号。>会将原始文件的内容清空,>>会在文件后面追加内容,如果文件不存在则创建文件。
具体使用方法如下
- echo Hello World >file.txt
- echo Hello World 1>file.txt
- echo Hello World 2>file.txt
运行后,会将Hello World输出到file.txt中。两行代码等价。其中1的意思是代表将标准输出重定向,标准输出即正常的输出内容。而2>file.txt则代表将错误信息输出到file.txt中,这样Hello World会显示在屏幕上,只有报错的信息会保存在file.txt中。
示例:
echo Hello World >>file.txt
上面的语句使用了2个>,表示追加内容,如果file.txt内容不是空,则Hello World会在最后一行的后面另起一行保存。
四,将bat文件的输出结果放到txt文件中
有时候我们会写批处理执行过程,会集中输出很多内容,又不想在bat里面频繁的试用输出到文件命令,怎么办呢?
我们可以尝试下面的办法:
- @echo off
- call "批处理路径">D:\结果.txt
- start notepad D:\结果.txt
REM 再例如下面这样
- @echo off
- call "D:\procedure.bat">D:\结果.txt
- start notepad D:\结果.txt
【实例】:
- @ECHO OFF
- echo 检查并停止相关服务....
- echo ------------------------------
- for %%i in (wuauserv,yun-wps) do (
- sc query "%%i" >nul && (
- echo %date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,8%开始停止服务:%%i >>"%date:~0,4%-%date:~5,2%-%date:~8,2%_%time:~0,2%.txt"
- net stop "%%i"
-
- ::@ECHO 开始卸载服务:%var%
- ::SC DELETE %var%
-
- REM net start "%%i"
- REM wmic SERVICE where name="%%i" get State|findstr /i "RUNNING" && ( echo %%i已启动。 )||( echo %%i未启动!请查看日志信息。 )
- )||(
- echo %date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,8%服务不存在:%%i 自动跳过>>"%date:~0,4%-%date:~5,2%-%date:~8,2%_%time:~0,2%.txt"
- )
- )
- echo 执行完成
-
- REM pause
- exit /B
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。