批处理文件之间的相互调用问题

简介:
今天为了帮朋友减轻他的工作量,就帮他写了一个批处理文件。
       该批处理文件的功能包含如下:
       1.执行批处理文件2.bat时,新建一个文件夹A。该文件夹的文件夹名是根据时间来命名的。
       2. 文件夹命名好后,紧跟着就调用批处理文件3.bat,4.bat,5.bat,而且这几个批处理开始的时间,不能相差太多。
       3.其中执行3.bat或者4.bat时,也是有要求的。要把3.bat执行的结果B存放到文件夹A中,而且该结果B的命名是根据时分秒来命名的。
      为了达到上述的要求,我写的代码如下。同时为了能更清晰的说明问题及实验,我把2.bat的代码贴出来,做一一说明。
     2.bat代码内容:
@echo off
md "d:\%date:~0,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%-%time:~3,2%"
start  d:\ceshi\3.bat
start d:\ceshi\4.bat
start d:\ceshi\5.bat
exit
        其中md "d:\%date:~0,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%-%time:~3,2%"是要在D盘新建一个以时间来命名的文件夹,命名的形式为“2011-05-07-12-44”,表明该文件夹是2011年5月17号12点44分新建的。
        start d:\ceshi\3.bat是要调用D盘ceshi文件夹下的3.bat文件。说明其实批处理文件之间的调用,还可以使用call,但是该朋友说,这几个批处理文件开始执行的时间不能相差太多,所以就使用start命令了。同时call命令是在调用该行命令执行结束后,才会调用下一行命令。
       下面就把3.bat的代码贴出来,如下:
@echo off
set rp=%time:~0,2%-%time:~3,2%
if exist d:\%date:~0,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%-%time:~3,2% (ping -n 4 baidu.com >d:\%date:~0,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%-%time:~3,2%\%rp%.txt)
exit
       其中set rp=%time:~0,2%-%time:~3,2%的意思是设置rp为%time:~0,2%-%time:~3,2%,这个是为了,给3.bat执行的结果命名使用的.
       if exist d:\%date:~0,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%-%time:~3,2%,这个是判断在D盘是否存在d:\%date:~0,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%-%time:~3,2%这个文件夹,而%date:~0,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%-%time:~3,2%这个文件夹是根据时间来命令的,他不会像在此显示的这个样。如果存在这样一个文件夹,那么就执行ping -n 4 baidu.com >d:\%date:~0,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%-%time:~3,2%\%rp%.txt,并且把执行的结果存放到d:\%date:~0,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%-%time:~3,2%文件夹下,并且把文件是以%rp%为名称的记事本文件。
         执行结果的相关截图如下:
clip_image002 clip_image004

本文转自 烂泥行天下 51CTO博客,原文链接:http://blog.51cto.com/ilanni/561069


相关文章
|
2月前
|
存储 编译器 C语言
C与C++之间相互调用的基本方法
C与C++之间相互调用的基本方法
36 1
|
9月前
|
编译器 测试技术 C语言
C与C++之间的相互调用及函数区别
最近项目需要使用google test(以下简称为gtest)作为单元测试框架,但是项目本身过于庞大,main函数无从找起,需要将gtest框架编译成静态库使用。因为项目本身是通过纯c语言编写,而gtest则是一个c++编写的测试框架,其中必然涉及c与c++之间的相互调用。 注意,本文的前提是,c代码采用gcc等c语言编译器编译c代码,采用g++等c++编译器编译c++代码,如果c和c++代码统一使用g++编译,大部分情况是可以实现两者代码相互调用的。以下为踩坑过程的总结o_O||。 c与c++的函数区别 要了解两者之间如何实现相互调用,必须先了解c与c++之间的函数有什么不同。 c+
87 0
|
10月前
|
存储 Unix Linux
Linux设备驱动程序(二)——建立和运行模块
本章介绍所有的关于模块和内核编程的关键概念,通过一个 hello world 模块来认识驱动加载的流程及相关细节。
87 0
|
JSON 小程序 JavaScript
【小程序】宿主环境之通信模型和运行机制
【小程序】宿主环境之通信模型和运行机制
69 0
【小程序】宿主环境之通信模型和运行机制
|
Java Maven
编写一个 spootboot 程序,有二个方法,一个问早上好,一个说再见
编写一个 spootboot 程序,有二个方法,一个问早上好,一个说再见
115 0
如何远程比较两个系统里同一个ABAP类方法代码的差异
如何远程比较两个系统里同一个ABAP类方法代码的差异
211 0
如何远程比较两个系统里同一个ABAP类方法代码的差异
|
C++
三个类之间的相互调用实现
由来:在项目开发的时候,定义了三个核心类(ClassA,ClassB, ClassC),三个类之间存在调用关系如下:ClassC是管理类,需要调用ClassA, ClassB的接口;同时作为被管理类,ClassA, ClassB需要又需要调用ClassC的接口。
218 0
三个类之间的相互调用实现