比如在windowscmd命令行窗口执行date命令后这个环境变量的值为
当前日期:2014-09-01 星期六 或2014/09/01 周六
那么如下的各个操作的意义如下:%date:~0,4% 表示从左向右指针向右偏0位,然后从指针偏移到的位置开始提取4位字符,结果是2014(年的值)
%date:~5,2%  表示指针从左向右偏移5位,然后从偏移处开始提取2位字符,结果是03(月的值)
%date:~8,2%  表示指针从左向右偏移8位,然后从偏移处开始提取2位字符,结果是01(日的值)
%date:~5%    表示指针从左向右偏移5位,然后提取所有的值
%date:~-5%   表示指针反方向偏移,从最右端开始,偏移5位,然后从指针处提取左边的所有数值。
注意:“2014-09-01星期六”是个字符串,在计算机里指针是从0开始计数的,所以这串字符的指针意义上的第5位是0,月份的0,取两位刚好是03.
同理,比如当前系统的time变量的值如下:
当前时间: 11:36:56.63
那么如下的各个操作的意义如下:%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%
--------分析------------
从set /?中提取的有关帮助:
    %PATH:str1=str2%会扩展 PATH 环境变量,用 "str2" 代替扩展结果中的每个 "str1"。要有效地从扩展结果中删除所有的 "str1","str2" 可以是空的。"str1" 可以以星号打头;在这种情况下,"str1" 会从扩展结果的开始到 str1 剩余部分第一次出现的地方,都一直保持相配。
也可以为扩展名指定子字符串。
    %PATH:~10,5%
会扩展 PATH 环境变量,然后只使用在扩展结果中从第 11 个(偏
移量 10)字符开始的五个字符。如果没有指定长度,则采用默认
值,即变量数值的余数。如果两个数字(偏移量和长度)都是负数,
使用的数字则是环境变量数值长度加上指定的偏移量或长度。
    %PATH:~-10%
会提取 PATH 变量的最后十个字符。
    %PATH:~0,-2%
会提取 PATH 变量的所有字符,除了最后两个。
----------------------------------
用%time:~0,2%%time:~3,2%%time:~6,2%时有个问题, 就是如果TIME 是00点的时候,电脑显示的是0 不是00所以TIME 0~2 就报错了。
例子:时间9:42:17
set fileDate=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
for /f "tokens=1,2 delims=:" %%i in ('time/t') do set t=%%i%%j
set fileDate2=%date:~0,4%%date:~5,2%%date:~8,2%%t:~0,4%%time:~6,2%
echo fileDate:%fileDate%
echo fileDate2:%fileDate2%
fileDate:20150112 94217(9前面是空格)
fileDate2:20150112094217
还有些设备的date显示是12/12/2015 周一
所以用以下方法格式化
set date=%date:~0,10%
set date=%date:-=%   //去掉日期中的-
set date=%date:/=%   //去掉日期中的/
set time=%time:~0,8%
set time=%time::=%   //去掉时间中的:
if "%time:~0,1%"==" " set "time=0%time:~1%"
---------------------
作者:icanlove
来源:CSDN
原文:https://blog.csdn.net/icanlove/article/details/42640329
版权声明:本文为博主原创文章,转载请附上博文链接!

%date~0,4%和 %time~0,2%等用法详解(转)的更多相关文章

  1. Vue1.0用法详解

    Vue.js 不支持 IE8 及其以下版本,因为 Vue.js 使用了 IE8 不能实现的 ECMAScript 5 特性. 开发环境部署 可参考使用 vue+webpack. 基本用法 1 2 3 ...

  2. 用Advanced Installer制作DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版详解

    关于 DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...

  3. 《从0到1学习Flink》—— Flink 配置文件详解

    前面文章我们已经知道 Flink 是什么东西了,安装好 Flink 后,我们再来看下安装路径下的配置文件吧. 安装目录下主要有 flink-conf.yaml 配置.日志的配置文件.zk 配置.Fli ...

  4. mysql 备份时间 %date~0,4%和 %time~0,2%等用法详解

    比如在windowscmd命令行窗口执行date命令后这个环境变量的值为 当前日期:2014-09-01 星期六 或2014/09/01 周六 那么如下的各个操作的意义如下:%date:~0,4% 表 ...

  5. 转载文章-----Rational Rose2007(v7.0)下载地址、安装及激活详解教程(图)

    转载地址:http://www.cnblogs.com/leaven/p/3718361.html 最近需要画uml图,之前用的是Rose 2003版的,由于好久没进去了,结果发现原来的激活又失效了, ...

  6. Rational Rose2007(v7.0)下载地址、安装及激活详解教程(图)

    http://blog.csdn.net/skl_tz/article/details/8925152 最近需要画uml图,之前用的是Rose 2003版的,由于好久没进去了,结果发现原来的激活又失效 ...

  7. 0. Java开发中的23种设计模式详解(转)

    设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...

  8. VB6.0中WinSock控件属性和方法详解

    原文链接:http://liweibird.blog.51cto.com/631764/653134 WinSock控件能够通过UDP协议(用户数据报协议)或TCP协议(数据传输协议)连接到远程的机器 ...

  9. Spring3.0.5jar包用法详解 [转载]

    Spring3.X以后jar包进行了重构,取消了原来2.X版本中的总的spring.jar包,而是把总包中的功能全部分开打包.正在向osgi靠拢. 各个jar包详解如下: 1. org.springf ...

随机推荐

  1. 001.hadoop及hbase部署

    一 环境准备 1.1 相关环境 系统:CentOS 7 #CentOS 6.x系列也可参考,转换相关命令即可. hadoop包:hadoop-2.7.0.tar.gz #下载官方地址:http://w ...

  2. C#开发Unity游戏教程之Scene视图与脚本的使用

    C#开发Unity游戏教程之Scene视图与脚本的使用 Unity中Scene视图的快捷操作 Scene视图是开发者开发游戏时,操作最频繁的视图.因为一旦一个游戏对象被添加到游戏的场景中,就需要首先使 ...

  3. JDBC之 自增长与事务

    JDBC之 自增长与事务 1.自增长 有这样一个现象:数据库中有两个表格 学生表(学生姓名,所在班级),班级表(班级号(自增长的主键),班级人数). 现在我往班级表插入一条信息, 只提供班级人数,班级 ...

  4. android 横竖屏 切换

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 横竖屏切换 会重新凋用 activity的 生命周期,再次oncreat() 如果清单文 ...

  5. Bzoj2534:后缀自动机 主席树启发式合并

    国际惯例的题面:考虑我们求解出字符串uvu第一个u的右端点为i,第二个u的右端点为j,我们需要满足什么性质?显然j>i+L,因为我们选择的串不能是空串.另外考虑i和j的最长公共前缀(也就是说其p ...

  6. HDU5919 SequenceⅡ

    从后向前建主席树,以位置为下标建树,然后查询区间出现次数的第k/2大即可. 复杂度O(nlogn) #include<bits/stdc++.h> using namespace std; ...

  7. BZOJ.1001.[BeiJing2006]狼抓兔子(最小割ISAP)

    题目链接 为什么这题网络流这么快,海拔那题就那么慢.. //119968kb 544ms //路不是有向的,所以要建四条边..既然如此就直接将反向边的流量设为w了.(or MLE...) #inclu ...

  8. maven执行update命令时报org/apache/maven/shared/filtering/MavenFilteringException错误

    原 maven执行update命令时报org/apache/maven/shared/filtering/MavenFilteringException错误 在eclipse中对准项目执行maven- ...

  9. 在vi 按了Ctrl s 之后..

    习惯了在windows下写程序,也习惯了按ctrl+s 保存代码,在用vi的时候,也习惯性的按了ctrl+s 然后vi终端就像卡住了一样. 原来: ctrl+s 终止屏幕输出(即停止回显),你敲的依然 ...

  10. Homebrew安装卸载

    安装homebrew ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/inst ...