Windows 批处理,不同的区域设置,重命名目录 YYYYmmDD_HHmmSS

Windows 批处理,不同的区域设置,重命名目录 YYYYmmDD_HHmmSS

两台计算机上的日期和时间:

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%

相关内容