bat脚本输出日志的方法
一,bat脚本常用的的输出命令是“echo 输出内容”,
可以利用echo将文本输出到cmd窗口或文件。bat脚本是不区分大小写的脚本语言,因此大小写都可以。
例如:
1
2
3
|
REM 在命令行窗口输出 echo Hello World! pause |
则会在命令行窗口输出Hello World!
通过bat打开命令行窗口运行上面的命令还会输出CMD运行相关的提示信息。如果想关闭多余的输出可以用 @ECHO OFF,示例:
1
2
3
4
|
@ECHO OFF REM 在命令行窗口纯净的输出 echo Hello World! pause |
二,输出内容到文件
可以使用重定向将输出结果保存到文件中。
>符号和>>符号为两个常用的重定向符号。>会将原始文件的内容清空,>>会在文件后面追加内容,如果文件不存在则创建文件。
具体使用方法如下
1
2
3
4
|
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里面频繁的试用输出到文件命令,怎么办呢?
我们可以尝试下面的办法:
1
2
3
4
5
6
7
8
|
@ echo off call "批处理路径" >D:\结果.txt start notepad D:\结果.txt REM 再例如下面这样 @ echo off call "D:\procedure.bat" >D:\结果.txt start notepad D:\结果.txt |
【实例】:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
@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 |
将上面的脚本复制到txt里面,并另存为ANSI格式,重命名为:WinService-Stop.bat
,然后在相同目录下新建一个txt,复制下面这段:
1
2
|
set ws=WScript.CreateObject( "WScript.Shell" ) ws.Run "WinService-Stop.bat" ,0 |
将上面的脚本复制到txt里面,并另存为ANSI格式,重命名为:启动bat文件.vbs,它的作用是用了静默启动bat脚本而隐藏CMD窗口,隐藏命令行窗口使用户无感知。注意两个文件在同一目录。
然后我们在“计算机-管理-任务计划程序”里面新增一个任务计划,定时执行“启动bat文件.vbs”就可以自动关闭Windows系统的自动更新啦。
总结
以上所述是小编给大家介绍的bat脚本输出日志的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
2019年08月22日 10:37:02 作者:熊仔其人
原文地址:https://www.cnblogs.com/cxyc005/p/12751833.html
- 大众点评cat系统的搭建笔记
- 我们只能在安全和隐私之间寻求平衡吗?
- Docker Compose 1.18.0 之服务编排详解
- 让IE7/8使用CSS中first-child和last-child样式属性
- dubbo/dubbox 增加原生thrift及avro支持
- Hadoop(十四)MapReduce原理分析
- dubbox 增加google-gprc/protobuf支持
- 统计02:怎样描绘数据
- ActiveMQ笔记(1):编译、安装、示例代码
- centos ssh终端下高亮显示git分支名
- Django ORM模型:想说爱你不容易
- IE7下元素的 'padding-top' 遇到 'clear' 特性在某些情况下复制到 'padding-bottom'
- IE7下元素的 'padding-top' 遇到 'clear' 特性在某些情况下复制到 'padding-bottom'
- ARM处理器:开放者的逆袭
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- dotnet 通过依赖注入的 Scoped 给工作流注入相同的上下文信息
- 微信文章爬虫
- vue 随记(6):构建的艺术
- Centos7发布SpringBoot项目并后台运行
- k8s部署zookeeper集群
- dotnet 使用 SemaphoreSlim 可能的内存泄露
- WPF 绑定继承的样式提示 只能根据带有基类型 IFrameworkInputElement 的目标类型的 Style 样式
- 29.opengl高级光照-视差贴图
- SpringBoot集成Mybatis开启下划线格式的数据自动转换成小驼峰格式
- WPF 列表右键菜单比较符合 MVVM 的命令绑定方法
- Group Sample:一个简单有效的目标检测涨点Trick
- PyTorch版CenterNet数据加载解析
- WPF 使用 HandyControl 给 ListView 添加漂亮的表头效果
- kali2020 忘记密码
- 低比特量化之DoreFa-Net理论与实践