两台计算机上的日期和时间:
10/25/2017 3:36:05 a.m. __ on Windows 7
2017-10-25 03:07:23 ______ on Windows XP
随着区域设置的变化,
建议公用事业计划和
批文件命令
自动化输出为标准日期时间格式?
(重命名目录 R:\1)
ren R:\1 R:\20171025_021459
R:\yyyyMMdd_HHmmss
R:\20171025_021459
答案1
如何获得忽略区域设置的标准日期时间格式?
使用以下批处理文件(这是解析本地时间输出的正确方法wmic
):
@echo off
setlocal
rem use findstr to strip blank lines from wmic output
for /f "usebackq skip=1 tokens=1-6" %%g in (`wmic Path Win32_LocalTime Get Day^,Hour^,Minute^,Month^,Second^,Year ^| findstr /r /v "^$"`) do (
set _day=00%%g
set _hours=00%%h
set _minutes=00%%i
set _month=00%%j
set _seconds=00%%k
set _year=%%l
)
rem pad with leading zeros
set _month=%_month:~-2%
set _day=%_day:~-2%
set _hh=%_hours:~-2%
set _mm=%_minutes:~-2%
set _ss=%_seconds:~-2%
rem use YYYYmmDD_HHmmSS format for the timestamp
set _stamp=%_year%%_month%%_day%_%_hh%%_mm%%_ss%
ren R:\1 %_stamp%
endlocal
进一步阅读
- Windows CMD 命令行的 AZ 索引- 与 Windows cmd 行相关的所有事物的绝佳参考。
- 对于/f- 循环命令以执行另一个命令的结果。
- 获取日期- 显示独立于操作系统区域设置、语言或用户选择的日期格式(控制面板/区域)的日期和时间。
- 变量- 提取变量的一部分(子字符串)。
- 西米克- Windows 管理规范命令。
答案2
这是完成特定任务的更快捷方式。在我的工作中,服务水平协议至关重要,无论任务多么琐碎,我通常会使用这种方法来缩短处理时间。
@echo off
REM Get date and time in YYYYMMDDhhmmss format
for /f "tokens=2 delims==." %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
rem put underscore in the middle of date and time stamp
ren R:\1 %dt:~0,8%_%dt:~8,6%