如何在windows dir命令中识别日期格式?

时间:2015-09-04 04:22:50

标签: windows date command-line locale dir

Windows中的dir命令以取决于操作系统设置的格式显示日期。

例如,当我从计算机上的命令行运行'dir'时,日期显示为'09 / 04/2015'。当我在另一台服务器上运行相同的命令时,我会看到'07 / Aug / 2015'。我认为根据操作系统设置可能有许多不同的格式。

我需要一种方法可以从'dir'命令返回的日期字符串中可靠地解析日期,月份和年份,该命令将在任何Windows操作系统上运行,包括Windows XP。

有谁知道如何强制'dir'命令以特定格式显示日期?

或者,有没有人知道如何识别(从命令行)'dir'命令显示日期的格式?

1 个答案:

答案 0 :(得分:2)

  

解决方案并不完美,我建议不要实施它,除非   非常必要。

更改日期格式时,会设置注册表值

  

HKCU\Control Panel\International - &GT; sShortDate REG_SZ <format_Of_date>其中format_of_date是用户选择的格式。

现在,如果您将此值编辑为方便的格式并保存,dir命令将为您提供结果中的预期格式。

我说过,这是不可取的,因为更改用户计算机上的自定义设置永远不会好。为了避免这种情况,您可以做的是,在更改之前存储sShortDate的初始值,并在实施dir cmd后设置该初始值。

您可以使用此批处理文件验证::

reg export "HKEY_CURRENT_USER\Control Panel\International" C:\DateFormat.reg
reg add "HKEY_CURRENT_USER\Control Panel\International" /f /v "sShortDate" /t 
REG_SZ /d "yyyy-MM-dd"
;; dir output always with "yyyy-MM-dd" date format
dir > C:\dir.txt
reg import C:\DateFormat.reg
del C:\DateFormat.reg
pause