给文件名前或后加时间戳的方法(使用bat文件)

因为最近涉及用电子资料在电脑上学习,而且我有两台电脑,不同时候会在不同电脑操作相关的电子资料,而这些东西要是在A电脑上编辑操作保存一下,再放去B电脑上编辑操作保存下,怎么保证最后操作的文档是包含从头到尾的编辑操作保存的文件呢,而不是东一个西一个一样名字但里面会有细微不同的操作的文件呢?这就是个问题啦,做到简洁区分和简洁不同备份,就是我这次文章中工具的主要目的。
想做到简洁区分,首先我想到的就是看文件名了,要是文件名能很方便的加上时间戳就好了,这样的区分办法是最快的。区分之后用U盘转移或者下载转移,就看文件名就可以做到区分和搞最新备份了吧。嘻嘻。
在经过搜索后,终于找到并改良了如下的能够给文件名加上在前面或在后面的时间戳的方法!快乐~

在文件名前面加时间戳的方法——

把下面代码复制到新建的txt文件中,并改后缀为bat文件。拖拽想要修改文件名的文件到这个bat文件上,就可以让想要修改文件名的文件的文件名变为时间戳BY文件名啦。

set "name=%date:~5,2%%date:~8,2%-%time:~,2%%time:~3,2%"
ren "%~1" "%name:/=%BY%~n1%~x1"   
::”原文件名“,变为”DATE-TIMEBY原文件名“
::例如“这件小事.txt” ,变为“1124-1455BY这件小事.txt”

在文件名后面加上时间戳的方法——

把下面代码复制到新建的txt文件中,并改后缀为bat文件 。拖拽想要修改文件名的文件到这个bat文件上,就可以让想要修改文件名的文件的文件名变为文件名BY时间戳啦。

@echo off
set "D=BY%date:~5,2%%date:~8,2%"
::这是-月日:-%date:~5,2%%date:~8,2%
::这是---日:-%date:~,4%-%date:~5,2%-%date:~8,2%
set "T=%time:~,2%%time:~3,2%"
::这是-时分:%time:~,2%%time:~3,2%
::这是-时分秒:%time:~,2%%time:~3,2%%time:~6,2%
set "T=%T: =0%"
if "%~1" neq "" (Ren "%~1" "%~n1%D%-%T%%~x1") else echo 请拖拽&pause
::“文件名“变为”文件名BYdate-time“
::最后效果为“这件.txt“变为”这件BY1124-1456.txt“

其他:

这两段代码设置的时间戳为月日-时分
也可以根据别的要求设置为年月日-时分秒等其他模式。
为了方便看出是哪个时间,才加的BY

参考的简书上的关于在文件名前面添加时间戳代码的链接
参考的百度文库上有关在文件名后面添加时间戳代码的链接

嗷~ 快乐~

话说怎么把带有时间戳的文件名去掉时间戳。。。


版权声明:本文为sapsun101原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。