批处理以当前时间为文件名创建文件

批处理以当前时间为文件名创建文件

批处理创建空文件

有时候,需要创建以当前时间命名的文件,手动输入当然可以,但是有更省心的方法吗?

假设我是 windows 操作系统,打开命令行。

输入以下命令试试:

echo %date:~0,4%_%date:~5,2%_%date:~8,2%_%time:~0,2%_%time:~3,2%_%time:~6,2%

输出类似:

2019_06_24_22_22_13

如果不想要秒,则输入:

echo %date:~0,4%_%date:~5,2%_%date:~8,2%_%time:~0,2%_%time:~3,2%

输出类似:

2019_06_24_22_23

既然都到这一步了,那修改一下就可以达到目的了。

比如创建以日期命名的 .md 文件。

cd. >%date:~0,4%_%date:~5,2%_%date:~8,2%_%time:~0,2%_%time:~3,2%.md

这时候会发现当前目录下多了一个 2019_06_24_22_45.md 文件,而且是空文件。

上面的命令表示把命令cd.的输出重新定向到 xxx.md 文件,cd. 表示改变当前目录为当前目录,即等于没改变,而且此命令不会有输出,所以就创建了没有内容的空文件。

其实创建空文件的方法还有很多:

1、copy nul a.txt
nul表示空设备,从概念上讲,它不可见,存在于每个目录中,可以把它看成一个特殊的“文件”,它没有内容;此例子表示将空设备复制到 a.txt,同样创建了没有内容的空文件。

2、type nul>a.txt
此例子表示显示空设备的内容,并写入到 a.txt。

3、echo a 2>a.txt
“2”表示错误输出的句柄,此例中没有错误输出,所以创建了没有内容的空文件。
其实“>”默认重定向到句柄1,即标准输出句柄。比如 cd.>a.txt,其实就是cd. 1>a.txt
其实,句柄3到9也可以使用在本例中,它们是未经定义的句柄,也不会有输出,如
echo a 3>a.txt

咱们实操一下。

D:\>copy nul a.txt
已复制         1 个文件。

D:\>type nul>b.txt

D:\>echo a 2>c.txt
a

D:\>echo a 3>d.txt
a

根据上面的实验,type nul>b.txt 这个方法比较好,因为命令行没有输出,很清爽。


参考资料

  1. 批处理以当前时间为文件名创建指定格式文件

  2. 建立空文件的几种方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值