经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Windows » 查看文章
bat脚本输出日志
来源:cnblogs  作者:熊仔其人  时间:2019/8/23 8:47:53  对本文有异议

一,bat脚本常用的的输出命令是“echo 输出内容”,可以利用echo将文本输出到cmd窗口或文件。bat脚本是不区分大小写的脚本语言,因此大小写都可以。

例如:

  1. REM 在命令行窗口输出
  2. echo Hello World
  3. pause

 

则会在命令行窗口输出Hello World!

通过bat打开命令行窗口运行上面的命令还会输出CMD运行相关的提示信息。如果想关闭多余的输出可以用 @ECHO OFF,示例:

  1. @ECHO OFF
  2. REM 在命令行窗口纯净的输出
  3. echo Hello World
  4. pause

 

二,输出内容到文件

可以使用重定向将输出结果保存到文件中。

>符号和>>符号为两个常用的重定向符号。>会将原始文件的内容清空,>>会在文件后面追加内容,如果文件不存在则创建文件。

具体使用方法如下

  1. echo Hello World >file.txt
  2. echo Hello World 1>file.txt
  3. echo Hello World 2>file.txt

        运行后,会将Hello World输出到file.txt中。两行代码等价。其中1的意思是代表将标准输出重定向,标准输出即正常的输出内容。而2>file.txt则代表将错误信息输出到file.txt中,这样Hello World会显示在屏幕上,只有报错的信息会保存在file.txt中。

 

三,输出内容追加到文件

示例:

  1. echo Hello World >>file.txt

上面的语句使用了2个>,表示追加内容,如果file.txt内容不是空,则Hello World会在最后一行的后面另起一行保存。

 

四,将bat文件的输出结果放到txt文件中

        有时候我们会写批处理执行过程,会集中输出很多内容,又不想在bat里面频繁的试用输出到文件命令,怎么办呢?

我们可以尝试下面的办法:

  1. @echo off
  2. call "批处理路径">D:\结果.txt
  3. start notepad D:\结果.txt
  4. REM 再例如下面这样
  5. @echo off
  6. call "D:\procedure.bat">D:\结果.txt
  7. start notepad D:\结果.txt

 

【实例】:

  1. @ECHO OFF
  2. echo 检查并停止相关服务....
  3. echo ------------------------------
  4. for %%i in (wuauserv,yun-wps) do (
  5. sc query "%%i" >nul && (
  6. 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"
  7. net stop "%%i"
  8. ::@ECHO 开始卸载服务:%var%
  9. ::SC DELETE %var%
  10. REM net start "%%i"
  11. REM wmic SERVICE where name="%%i" get State|findstr /i "RUNNING" && ( echo %%i已启动。 )||( echo %%i未启动!请查看日志信息。 )
  12. )||(
  13. 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"
  14. )
  15. )
  16. echo 执行完成
  17. REM pause
  18. exit /B

将上面的脚本复制到txt里面,并另存为ANSI格式,重命名为:WinService-Stop.bat,然后在相同目录下新建一个txt,复制下面这段:

  1. set ws=WScript.CreateObject("WScript.Shell")
  2. ws.Run "WinService-Stop.bat",0

        将上面的脚本复制到txt里面,并另存为ANSI格式,重命名为:启动bat文件.vbs,它的作用是用了静默启动bat脚本而隐藏CMD窗口,隐藏命令行窗口使用户无感知。注意两个文件在同一目录。

        然后我们在“计算机-管理-任务计划程序”里面新增一个任务计划,定时执行“启动bat文件.vbs”就可以自动关闭Windows系统的自动更新啦。

 

原文链接:http://www.cnblogs.com/xiongzaiqiren/p/11392768.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号