datetime - 如何在批处理文件中按日期时间创建文件夹
问题描述
我正在尝试使用以下代码在我的批处理文件中按日期时间创建一个文件夹
@echo off & for /F "tokens=1-4 delims=/ " %%A in ('date/t') do (
set DateDay=%%A
set DateMonth=%%B
set Date=%%C
set DateYear=%%D
)
@echo off & for /F "tokens=1-4 delims=/ " %%D in ('time/t') do (
set DateTime=%%D
)
set CurrentDate=%Date%-%DateMonth%-%DateYear%-0%time:~0,2%.%time:~3,2%.%time:~6,2%
mkdir %CurrentDate%
使用这个我得到文件夹名称 22-02-2021-010.01.37
但是如果时间是在 1 到 9 小时,我的文件夹会显示,因为
22-02-2021-0 9.59.19
0 和 9 和 1 到 9 小时总是有一个空格不显示为 01,02,03 小时
答案应该是:
22-02-2021-009.59.19
解决方案
最好和正确的方法是使用独立于区域day/month
顺序的日期,您可以将"WMIC os GET LocalDateTime"
其用作来源,因为它是 ISO 顺序:
@echo off
Title Get FileName With Date and Time
Call :GetFileNameWithDateTime MyCurrentDate
echo %MyCurrentDate%
MkDir %MyCurrentDate%
pause & exit
::----------------------------------------------------------------------------------
:GetFileNameWithDateTime <FileName>
for /f "skip=1" %%x in ('wmic os get localdatetime') do if not defined MyDate set "MyDate=%%x"
set "%1=%MyDate:~0,4%-%MyDate:~4,2%-%MyDate:~6,2%-%MyDate:~8,2%-%MyDate:~10,2%"
Exit /B
::----------------------------------------------------------------------------------
推荐阅读
- python - pandas 中 .prod 的结果给了我一个 inf 编号,我怎样才能看到结果
- node.js - Heroku MERN 堆栈环境变量
- r - R分割代表指定距离的路线的SpatialLinesDataFrame
- git - 在 Git 中硬重置后,有没有办法截断分支,使其不反映快进?
- wso2esb - 如何从 config.properties 文件将端点添加到 wso2 esb rest api?
- reactjs - ReferenceError:在开玩笑测试中没有定义 React
- css - 如何使图像的背景颜色透明?
- c# - EFCore Scaffold-DbContext 可以生成自定义模型名称吗?
- c++ - 显示用户选择的源目录中的图像
- html - HTML5 视频未在 Chrome(ium)上显示带有非常大(本地)文件的图像