2015-09-04 73 views
2

Windows中的dir命令以依賴操作系統設置的格式顯示日期。如何在windows dir命令中識別日期的格式?

例如,當從我的計算機上的命令行運行「目錄」,日期顯示像'09/04/2015' 。當我在另一臺服務器上運行相同的命令時,我看到'07/Aug/2015'。我認爲根據操作系統設置可能有很多不同的格式。

我需要一種方法來可靠地解析日,月,年通過的「dir」命令返回的日期字符串,因爲(含)的Windows XP,將任何Windows操作系統上運行。

有誰知道如何強制「dir」命令以特定的格式顯示日期?

或者,有沒有人知道如何(命令行),其中「dir」命令將顯示日期的格式鑑別?

+0

這是否存在的問題及答案(S)幫助? [Windows 7 - 如何以可預測的格式獲取批處理文件中的日期?](http://superuser.com/questions/315984/how-to-get-the-date-in-a-batch-file-預測格式) – localhost

+0

'date/t'會給你當前的格式。 – Abhineet

+0

感謝您的建議。我的系統上的「date/t」返回「Fri 09/04/2015」,而「dir」命令僅返回「09/04/2015」。我怎樣才能確定這兩種格式是相關的? – Tom

回答

2

解決方案並不完美,我建議,不要實施它,除非 非常必要。

當更改日期的格式時,它設置一個註冊表值

HKCU\Control Panel\International - >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