bat创建以当前日期命名的文件夹
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bat创建以当前日期命名的文件夹相关的知识,希望对你有一定的参考价值。
如文件夹名:20140219
一、先比较直接的查看当前的日期和时间:(或者cmd中直接输入date,time查看)
@echo off
color 0a
set dt=%date%%time%
echo %dt%
pause
二、使用截取进行命名(时间为12小时制时命名会出现空格,不严谨)
%date:~0,4% :表示从左往右指针偏移0位,然后从偏移的位置进行截取4个字符。如果是从右往左截取,则需要加上负号
@echo off
color 0a
set ymd=%date:~0,4%%date:~5,2%%date:~8,2%
set hms=%time:~0,2%%time:~3,2%%time:~6,2%%time:~9,2%
rem 或者 set hms=%time:~-11,2%%time:~-8,2%%time:~-5,2%%time:~-2,2%
set dt=%ymd%%hms%
echo %dt%
mkdir "%dt%"
pause
三、使用for /f 来进行命名
eol=/ 指以/ 号开头的行为为注释行
tokens=x,y,m-n 指每行的哪一个符号被传递到每个迭代的 for 本身,m-n是格式指的是一个范围
delims=xx 指分隔符集。这个替换了空格和跳格键的默认分隔符集
写法:
@echo off
color 0a
for /f "tokens=1,2 eol=/ delims=/ " %%a in ('date/t') do set yyyy=%%a
for /f "tokens=1,2 eol=/ delims=/" %%a in ('date/t') do set mm=%%b
for /f "tokens=2,3 delims=/ " %%a in ('date/t') do set dd=%%b
set ymd=%yyyy%%mm%%dd%
set tmp_hms=%time:~-11,2%%time:~-8,2%%time:~-5,2%
set hms=%tmp_hms: =%6
set dt=%ymd%%hms%
echo %dt%
mkdir "%dt%"
pause
扩展资料
当时间为12小时制时,以上几种写法会出空格现象,下面将展示一下解决方法:
可以在之前的脚本中加上一句判断
if "%time:~0,1%"==" " set "time=0%time:~1%"
@echo off
color 0a
for /f "tokens=*" %%a in ('time/t') do set now=%%a
set ymd=%date:~0,4%%date:~5,2%%date:~8,2%
set hms=%now:~0,2%%now:~3%%time:~6,2%
set dt=%ymd%%hms%
echo %dt%
pause
参考技术A1、在当前文件夹内,右击新建》文本文档。
2、打开文本文档,输入MD命令来创建文件夹。
3、这里输入MD aaaa,就是创建aaaa(想要别的文件夹名的可以打上别的名称)文件夹,之间有空间,如果是多个文件夹也是以空格分开。
4、完成后,保存把文件的扩展名txt改成bat。
5、直接双击运行bat文件,完成文件夹的创建。
参考技术B用bat命令以当前日期为名字建立文件夹:
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"md %ymd%
copy /y E:\\Anan\\*.log E:\\Anan\\%ymd%\\
第一句为建立一个变量,并通过%date:~5,2%来组合得出当前日期,组合的效果为yyyymmdd,date命令得到的日期格式默认为yyyy-mm-dd(如果不是此格式可以通过pause命令来暂停命令行窗口看通过%date:~,20%得到的当前计算机日期格式),所以通过%date:~5,2%即可得到日期中的第五个字符开始的两个字符,例如今天为2009-02-05,通过%date:~5,2%则可以得到02。(日期的字符串的下标是从0开始的)
第二句为用MD命令 建立以变量Ymd为名的文件夹
第三句为复制指定的文件到指定的文件夹。 参考技术C md %date:~0,4%%date:~5,2%%date:~8,2%本回答被提问者采纳 参考技术D 复制粘贴到记事本,另存为xx.bat,编码选ANSI@echo off
rem 创建以当前日期命名的文件夹
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
powershell -NoProfile -ExecutionPolicy bypass "[void](md (get-date).toString('yyyyMMdd') -force)"
:end
echo;%#% +%$%%$%/%@% %z%
pause
exit
bat实例
1.创建以当前时间命名的文件夹
@echo off echo %date% set current_date=%date:~0,4%%date:~5,2%%date:~8,2% set current_time=%time:~0,2%%time:~3,2%%time:~6,2% set filename=%current_date%%current_time% echo %filename% mkdir %filename%
以上是关于bat创建以当前日期命名的文件夹的主要内容,如果未能解决你的问题,请参考以下文章