首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用带有时间戳的批处理脚本创建目录

使用带有时间戳的批处理脚本创建目录
EN

Stack Overflow用户
提问于 2015-05-14 06:06:20
回答 2查看 9K关注 0票数 1
代码语言:javascript
复制
@echo off
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
For /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set mytime=%%a-%%b)

set mydir="%mydate%-%mytime%"

mkdir %mydir%

使用上面的批处理脚本,我可以创建一个类似于2015-05-14-11-30 的目录名。

现在我需要将时间转换为24格式,并删除AM/PM。

预期文件夹名- 2015-05-14-11-30

怎么做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-14 06:36:19

我认为您应该使用%TIME%伪变量。

这就是一个例子:

代码语言:javascript
复制
@echo off

For /f "tokens=1-4 delims=/:." %%a in ("%TIME%") do (
    SET HH24=%%a
    SET MI=%%b
    SET SS=%%c
    SET FF=%%d
)

For /f "tokens=1-2 delims=/,." %%a in ("%SS%") do (
    SET JUST_SS=%%a
)

echo HH24=%HH24%
echo MI=%MI%
echo SS=%SS%
echo FF=%FF%
echo JUST_SS=%JUST_SS%

echo mytime=%HH24%-%MI%-%JUST_SS%

嗯,我意识到如果时间小于10,HH24有一个空空间,所以这里有另一个解决方案,使用%time

代码语言:javascript
复制
SET HH=%time:~0,2%
if "%HH:~0,1%" == " " SET HH=0%HH:~1,1%
    echo HH=%HH%

SET MI=%time:~3,2%
if "%MI:~0,1%" == " " SET MI=0%MI:~1,1%
    echo MI=%MI%

SET SS=%time:~6,2%
if "%SS:~0,1%" == " " SET SS=0%SS:~1,1%
    echo SS=%SS%

遵循@Stephan (**TIME** 变量依赖于区域设置)指出的建议,我们可以使用以下方法:

代码语言:javascript
复制
@echo off

for /f "delims=" %%a in ('wmic OS get localdatetime  ^| find "."') do set datetime=%%a

set "YYYY=%datetime:~0,4%"
set "MM=%datetime:~4,2%"
set "DD=%datetime:~6,2%"
set "HH=%datetime:~8,2%"
set "MI=%datetime:~10,2%"
set "SS=%datetime:~12,2%"

set fullstamp=%YYYY%-%MM%-%DD%-%HH%-%MI%-%SS%
echo fullstamp=%fullstamp%
票数 6
EN

Stack Overflow用户

发布于 2015-05-14 07:13:54

让它变得简单和简短

代码语言:javascript
复制
 @echo off

 set hh=%time:~-11,2%
 set /a hh=%hh%+100
 set hh=%hh:~1%
 Set mydir=%date:~10,4%-%date:~4,2%-%date:~7,2%-%hh%-%time:~3,2%-%time:~6,2%
 mkdir %mydir%
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30230411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档