最近公司的项目,需要部署一个oracle定时备份脚本,删除掉特定时间前的备份文件。BAT批处理文件结合windows系统(任务计划程序)

正常情况下我们的任务计划会有反馈数值,通过它可以判断这个任务计划上次是否运行正常。

  • 代码 0 或 0x0:操作成功完成。
  • 代码 1 或 0x1:调用的函数不正确或调用了未知函数。
  • 代码 10 或 0xa:环境不正确。
  • 代码 0x8009000f:常规访问被拒绝

任务计划程--历史记录里,操作完成,任务完成。但是在任务栏--上次运行结果显示不是操作成功完成(0x0),而是0x1。

通过以上错误代码,去排除调用的函数,发现是脚本文件里的定义时间机制,与设定任务计划时间不匹配造成无法正确运行脚本。

我在任务计划设置的时间是 AM 0:30

bat脚本时间设定如下:

set var=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%

导致脚本无法正常运行的语句如下:

%time:~0,2%%time:~3,2%%time:~6,2%

如下的各个操作的意义如下:
%time:~0,2%  表示从左向右指针向右偏0位,然后从指针偏移到的位置开始提取2位字符,结果是小时字段数值
%time:~3,2%  表示指针从左向右偏移3位,然后从偏移处开始提取2位字符,结果是分钟字段数值
%time:~6,2%  表示指针从左向右偏移6位,然后从偏移处开始提取2位字符,结果是秒字段数值
//创建时间命名的文件夹

md d:\%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%

用%time:~0,2%%time:~3,2%%time:~6,2%时有个问题, 就是如果TIME 是00点的时候,电脑显示的是0 不是00所以%time:~0,2%就报错了。

例子:2019-1-20时间1:26:20

set fileDate=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%

set fileDate2=%date:~0,4%%date:~5,2%%date:~8,2%%time:~1,1%%time:~3,2%%time:~6,2%

echo fileDate:%fileDate%

echo fileDate2:%fileDate2%

fileDate:    20190120 12620(1前面是空格)
fileDate2:  2019012012620

总结:

1)如果要用%time:~0,2%%time:~3,2%%time:~6,2%  (运行脚本的时间一定是在10-23点区间,否则0-9(H)脚本调用函数错误,无法运行)

2)如果要用%time:~1,1%%time:~3,2%%time:~6,2%  (建议运行脚本的时间在0-9点这个区间,如果是>9点,

比如13点。会造成只显示个位数字3,比如2019-1-20 时间13:26:20 会显示2019012032620 从而影响时间的整体准确性)

3)或者是直接舍去时间,只用日期来定义文件名。

%date:~0,4%%date:~5,2%%date:~8,2%

比如2019-1-20 那么文件名会显示为20190120.(如果需求是每天做一个备份,那么这样命名是没什么影响的,

如果是一天需要N个备份文件,请参照上面两种时间设定)

BAT批处理文件,脚本时间值%time:~0,2%%time:~3,2%%time:~6,2%的用法。的更多相关文章

  1. BAT CMD 批处理文件脚本 -2

    http://checheng1988.blog.51cto.com/4725808/1090733 在很多windows程序中会见到很多用扩展名为.bat和.cmd结尾的文件,那么这些文件能干什么呢 ...

  2. bat批处理(二):%0 %1——给批处理脚本传递参数

    初次接触批处理脚本觉得有点意思,所以决定写一个小功能试验一下,谁知刚一开始就发现遇到了麻烦,本想着使用参数来控制程序的运行结果,可是参数怎么传进去呢,于是研究了一番,最终发现这个参数的传递与main函 ...

  3. 【转】BAT 批处理脚本 教程

    第一章 批处理基础第一节 常用批处理内部命令简介批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令.小知识:可以在 ...

  4. BAT 批处理脚本 教程

    第一章 批处理基础第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令.小知识:可以 ...

  5. 【转载】BAT 批处理脚本教程

    来源:http://www.cnblogs.com/glaivelee/archive/2009/10/07/1578737.html BAT 批处理脚本 教程   第一章 批处理基础第一节 常用批处 ...

  6. [转]BAT 批处理脚本 教程

    第一章 批处理基础第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令.小知识:可以 ...

  7. BAT 批处理脚本教程

    第一章 批处理基础第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令.小知识:可以 ...

  8. BAT 批处理脚本 教程 【转】

    BAT 批处理脚本 教程 第一章 批处理基础 第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令 ...

  9. 转:windows BAT 批处理脚本教程

    转自:http://www.cnblogs.com/mq0036/p/3412171.html BAT 批处理脚本教程 第一章 批处理基础第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文 ...

随机推荐

  1. 【新特性】JDK1.5

    一.自动装箱与拆箱: 自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装中. 自动拆箱的过程:每当需要一个值时,被装箱对象中的值就被自动地提取出来,没必要再去调用i ...

  2. Learning-Python【7】:Python数据类型(3)—— 字典、集合

    一.字典类型 1.用途:用来存放多个不同种类的值 2.定义方式:在{ }内用逗号分隔开多个key:value的元素,其中value可以是任意数据类型,而key的功能通常是用来描述value的,所以ke ...

  3. python学习-----协程

    一.协程的引入 对于单线程下,我们不可避免程序中出现io操作,但如果我们能在自己的程序中(即用户程序级别,而非操作系统级别)控制单线程下的多个任务能在一个任务遇到io阻塞时就切换到另外一个任务去计算, ...

  4. Asp.net core (学习笔记 路由和语言 route & language)

    https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/routing?view=aspnetcore-2.1 https://doc ...

  5. 非递归遍历N-ary树Java实现

    2019-03-25 14:10:51 非递归遍历二叉树的Java版本实现之前已经进行了总结,这次做的是非递归遍历多叉树的Java版本实现. 在非递归遍历二叉树的问题中我个人比较推荐的是使用双whil ...

  6. [HTML] HTML Lists

    无序列表: 1. unordered list 以<ul>开头,以</ul>结果. 每个list item 以<li> tag开头. 2. 样式: bullet(小 ...

  7. 以太坊钱包开发系列2 - 账号Keystore文件导入导出

    以太坊去中心化网页钱包开发系列,将从零开始开发出一个可以实际使用的钱包,本系列文章是理论与实战相结合,一共有四篇:创建钱包账号.账号Keystore文件导入导出.展示钱包信息及发起签名交易.发送Tok ...

  8. 『TensorFlow』读书笔记_VGGNet

    VGGNet网络介绍 VGG系列结构图, 『cs231n』卷积神经网络工程实践技巧_下 1,全部使用3*3的卷积核和2*2的池化核,通过不断加深网络结构来提升性能. 所有卷积层都是同样大小的filte ...

  9. 关于var time = +new Date;

    文章地址:https://www.cnblogs.com/Raoh/p/4212075.html

  10. python 利用selectors实现异步I/O

    它的功能与linux的epoll,还是select模块,poll等类似:实现高效的I/O multiplexing,  常用于非阻塞的socket的编程中: 简单介绍一下这个模块,更多内容查看 pyt ...