批处理文件(Batch File)里的Substring操作

以前并不知道还可以有这样的用法:

C:\>echo %date%
2005-05-10 星期二

C:\>echo %date:~0,4%
2005

C:\>echo %date:~11%
星期二

C:\>echo %date:~-3%
星期二

C:\>echo %date:~-3,-1%
星期

用于在批处理文件中生成每天一个(或每月、每年一个)日志文件,这是最直接的做法。比套用vbscript等其他方法来得简洁。这个方法的缺点是%date%的值在不同的系统、不同的语言版本下都是不一样的,Control Panel里面Regional and Language Options设定也会改变%date%的值。
前几天,要定时备份一个目录,就在研究批处理文件,当时的想法,是想自动备份的目录下取当前的日期来备份,终于在网上找到1段程序:

for /f "tokens=1,2,3 delims=- " %a in ("date /t") in ("date /t") do @echo "%a-%b-%c"

可以取当前的日期
太好了,正在找!

rar.exe a -m1 %date:~0,10%\www.rar d:\www\

以后每次备份可以自动运行了! 
谢谢!

(0)

相关推荐

  • 批处理文件(Batch File)里的Substring操作

    以前并不知道还可以有这样的用法: C:\>echo %date% 2005-05-10 星期二 C:\>echo %date:~0,4% 2005 C:\>echo %date:~11% 星期二 C:\>echo %date:~-3% 星期二 C:\>echo %date:~-3,-1% 星期 用于在批处理文件中生成每天一个(或每月.每年一个)日志文件,这是最直接的做法.比套用vbscript等其他方法来得简洁.这个方法的缺点是%date%的值在不同的系统.不同的语言版本下都

  • Git里多种撤销操作的最佳方法

    前言 相信大家都知道任何版本控制系统的一个最有的用特性就是"撤销 (undo)"你的错误操作的能力.在 Git 里,"撤销" 蕴含了不少略有差别的功能.当你进行一次新的提交的时候,Git 会保存你代码库在那个特定时间点的快照:之后,你可以利用 Git 返回到你的项目的一个早期版本. 撤销一个"已公开"的改变 场景: 你已经执行了 git push, 把你的修改发送到了 GitHub,现在你意识到这些 commit 的其中一个是有问题的,你需要撤销

  • 分布式爬虫处理Redis里的数据操作步骤

    存入MongoDB 1.启动MongoDB数据库:sudo mongod 2.执行下面程序:py2 process_youyuan_mongodb.py # process_youyuan_mongodb.py # -*- coding: utf-8 -*- import json import redis import pymongo def main(): # 指定Redis数据库信息 rediscli = redis.StrictRedis(host='192.168.199.108',

  • vue用elementui写form表单时,在label里添加空格操作

    要在密码两字中间添加空格,发现直接添加  是识别不了的,正确写法为: 代码: <el-form-item label="密 码:" :label-width="formLabelWidth" prop="password"> <label slot="label">密    码:</label> <el-input type="password" v-model=&

  • antd Select下拉菜单动态添加option里的内容操作

    antd Select下拉菜单动态添加option里的内容,通过form表单绑定select选中的值 提供一个公共的方法,每次只需去调用这个方法就行了 //这里是示例数据格式 let giftScope =[ { code:200, id:1, name:"张三" }, { code:300, id:2, name:"李四" }, { code:400, id:3, name:"王五" }, { code:500, id:4, name:&quo

  • Java面试为何阿里强制要求不在foreach里执行删除操作

    小二听完就面露喜色,因为两年前,也就是 2021 年,他在<Java 程序员进阶之路>专栏上的第 63 篇看到过这题

  • pytorch 带batch的tensor类型图像显示操作

    项目场景 pytorch训练时我们一般把数据集放到数据加载器里,然后分批拿出来训练.训练前我们一般还要看一下训练数据长啥样,也就是训练数据集可视化. 那么如何显示dataloader里面带batch的tensor类型的图像呢? 显示图像 绘图最常用的库就是matplotlib: pip install matplotlib 显示图像会用到matplotlib.pyplot.imshow方法.查阅官方文档可知,该方法接收的图像的通道数要放到后面: 数据加载器中数据的维度是[B, C, H, W],

  • C#的File类实现文件操作实例详解

    C#对文件的操作相当方便,主要涉及到四个类:File.FileInfo.Directory.DirectoryInfo,前两个提供了针对文件的操作,后两个提供了针对目录的操作,类图关系如下: 本文举例详述了File类的用法.File中提供了许多的静态方法,使用这些静态方法我们可以方便的对文件进行读写查等基本操作. 具体用法说明及相关示例如下: 1.读文件: // 打开一个文件,将文件的内容读入一个字符串,然后关闭该文件. public static byte[] ReadAllBytes(str

  • Javascript里使用Dom操作Xml

    看了一天的XML资料,感觉CSDN上这篇讲的挺细致的.即有Dot Net写入XML文件的示例,又有JS读取的示例,值得一看.(Source:http://blog.csdn.net/flypigluo) 一.本笔记使用的Xml文件 二.IXMLDOMDocument/DOMDocument简介     2.1 属性 2.1.1  parseError 2.1.2  async.  2.1.3  xml 2.1.4  text3 2.1.5  attributes 2.1.6  nodeName

  • BAT批处理文件语法第1/2页

    扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件.  .bat是dos下的批处理文件  .cmd是nt内核命令行环境的另一种批处理文件  从更广义的角度来看,unix的shell脚本以及其它操作系统甚至应用程序中由外壳进行解释执行的文本,都具有与批处理文件十分相似的作用,而且同样是由专用解释器以行为单位解释执行,这种文本形式更通用的称谓是脚本语言.所以从某个程度分析,batch, unix shell, awk, basic, perl 等脚本语言都是一样的

随机推荐