实现windows批处理下的计时功能
有时在执行完一段windows的批处理后,想知道这个过程花费了多少时间,如果是windows下的c代码可以在过程前后分别调用GetTickCount(),然后相减即可得到花费的时间。
但是如果在批处理中就没有这样现成的函数,并且在本人在网上找了好久都没找到。最后在搞定了批处理变量计算,从exe中取得返回值等技术点后,最终实现了这个功能。
在批处理中求值
下面的代码将打印出20
@echo off
set cho=23
set /a res=%cho% - 3
echo %res%
注意,第一个set后面=前后一定不能加空格,第二个set后一定得有/a
取得exe的返回值
用%errorlevel%可以取得执行一个exe之后其返回值。
@echo off
start /wait Program.exe
set r=%errorlevel%
echo %r%
GetTickCount程序
写一个简单的c程序,调用GetTickCount()将其值返回
#include <windows.h>
#include <stdio.h> int main(int argc, char** argv)
{
int t = GetTickCount();
printf("%d\n", t);
return t;
}
随便用一个c的编译器,将上面的c源码编译成exe程序,取名为GetTickCount.exe,并将其放到某个系统路径下。
应用
@echo off
start /wait GetTickCount.exe
set t1=%errorlevel% sleep 3
::TODO Something start /wait GetTickCount.exe
set t2=%errorlevel% set /a t=%t2%-%t1%
echo %t%
最后将打印出以毫秒为单位的时间花费。
GetTickCount的下载路径http://files.cnblogs.com/files/xiangism/GetTickCount.rar
linux下的bash实现计时
顺便贴出如何在linux下的shell中实现计时
#!/bin/bash
start=$(date "+%s") #do something
sleep now=$(date "+%s")
time=$((now-start))
echo "time used:$time seconds"
~~~~Eureka~~~~
实现windows批处理下的计时功能的更多相关文章
- Windows及Linux平台下的计时函数总结
		
本文对Windows及Linux平台下常用的计时函数进行总结,包括精度为秒.毫秒.微秒三种精度的各种函数.比如Window平台下特有的Windows API函数GetTickCount().timeG ...
 - cmd下windows批处理,获取当前系统时间,生成日志文件名
		
示例: rdGetRTData_log%date:~0,4%%date:~5,2%%date:~8,2%.txt 生成格式: rdGetRTData_log20151103.txt 编写Windows ...
 - Windows系统下批处理快速创建WIFI
		
为什么要用cmd这种古老的东西创建wifi呢,电脑管家.360安全卫士都有这种插件,一键开启关闭,多方便啊! 开始用的也是电脑管家的免费wifi插件,但是我越来越不能忍它极慢的启动关闭过程,每一次看着 ...
 - WINDOWS批处理命令使用大全
		
来源:http://www.942dn.com就是爱电脑网 WINDOWS批处理命令使用大全 批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母.它的构成没有固定格式, ...
 - windows批处理的介绍
		
扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件. 首先批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命 ...
 - Windows 7下搭建Jmeter测试环境
		
jmeter配置.安装 一. 工具描述 apache jmeter是100%的java桌面应用程序,它被设计用来加载被测试软件功能特性.度量被测试软件的性能.设计jmeter的初衷是测试web应用,后 ...
 - 浅谈Windows环境下DOS及MS-DOS以及常见一些命令的介绍
		
浅谈Windows环境下DOS及MS-DOS以及常见一些命令的介绍 前记 自己是搞编程的,首先我是一个菜鸟,接触计算机这么久了,感觉很多计算机方面的技术和知识朦朦胧胧.模模糊糊,貌似有些贻笑大方了:所 ...
 - Windows 批处理大全(附各种实例)
		
Windows 批处理大全(附各种实例) 2009年07月19日 21:31:00 阅读数:2552 批处理文件是无格式的文本文件,它包含一条或多条命令.它的文件扩展名为 .bat 或 .cmd.在命 ...
 - Windows 批处理入门
		
Windows 批处理入门 目录 本教程概述 用到的工具 标签 简介 1.命令简介 2.符号简介 3.语句结构 4.实例讲解 本教程概述 本课我们学习windows批处理 用到的工具 cmd.ex ...
 
随机推荐
- 2016 - 2 - 20 ARC知识总结(二 autorelease概念及实现)
			
首先祝自己生日快乐~23咯~ 一 autorelease的概念 autorelease会像C语言的自动变量那样来对待对象实例.当超出作用域(相当于变量作用域)时,对象的实例release实力方法被调 ...
 - 【转】Unity3d + NGUI 的多分辨率适配
			
原文地址:http://www.cnblogs.com/cqgreen/p/3348154.html 一.当下移动设备的主流分辨率(数据来自“腾讯分析移动设备屏幕分辨率分析报告”) 1.1 iOS ...
 - 探索软件工程道路上的我II (Θ∀Θ#)
			
------作业要求------ 第一版本程序Prog1:+ 给定一个数组,实现数组元素求和:具体要求:实现对一维数组(a[100])的所有元素相加运算.+ 数据准备:a)数组长度:100:b)数组数 ...
 - Spring MVC之视图解析器和URL-Pattern的配置方案
			
上期讲解了第一入门案例之后接下来了解一下视图解析器与URL-Pattern的配置方案 先来说视图解析器,在上次博客文章中我们完成了入门案例,接下来我们就在上一个例子中完善一下体出视图解析器 <? ...
 - 修改SharePoint 2013中item Created by 信息
			
因为公司的系统有点小bug.额,要做点坏事,把系统没记上的东西偷偷补上去,但是item的created by变成了我(这怎么行,不能让别人知道我做了坏事,一定是隔壁小李干的! 懒得开visual st ...
 - 【转】Native JavaScript Data-Binding
			
原文转自:http://www.sellarafaeli.com/blog/native_javascript_data_binding Two-way data-binding is such an ...
 - 使用RelativeLayout控制WebView以及Bottom按钮的位置
			
使用RelativeLayout控制WebView以及Bottom按钮的位置 (地址) 在Design View中加入控件RelativeLayout, WebView, LinearLayout(H ...
 - cosine similarity
			
Cosine similarity is a measure of similarity between two non zero vectors of an inner product space ...
 - MFC中输入框的文本转换为char[]字符数组类型
			
在MFC的输入框中得到输入字符串用如下形式: CString v_inputstring; (( CEdit *) GetDlgItem (IDC_EDIT1 ))-> GetWindowTex ...
 - C++中 vector(容器)的用法
			
vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的. 用法: 1.文件包含: ...