Cập nhật: Bây giờ là năm 2016 tôi sẽ sử dụng PowerShell cho điều này trừ khi có lý do thực sự tương thích ngược với nó, đặc biệt là do vấn đề cài đặt khu vực khi sử dụng date
. Xem https://stackoverflow.com/a/19799236/8479 của @ npocmaka
Tôi có thể sử dụng câu lệnh dòng Windows nào để lấy datetime hiện tại theo định dạng mà tôi có thể đặt vào tên tệp?
Tôi muốn có một tệp .bat nén thư mục vào một kho lưu trữ với ngày và giờ hiện tại như một phần của tên, ví dụ , Code_2008-10-14_2257.zip
. Có cách nào dễ dàng để tôi có thể làm điều này, độc lập với cài đặt khu vực của máy không?
Tôi không thực sự bận tâm về định dạng ngày tháng, lý tưởng nhất là yyyy-mm-dd, nhưng mọi thứ đơn giản đều ổn.
Cho đến nay tôi đã có cái này, cái mà trên máy của tôi mang lại cho tôi Tue_10_14_2008_230050_91
:
rem Get the datetime in a format that can go in a filename.
set _my_datetime=%date%_%time%
set _my_datetime=%_my_datetime: =_%
set _my_datetime=%_my_datetime::=%
set _my_datetime=%_my_datetime:/=_%
set _my_datetime=%_my_datetime:.=_%
rem Now use the timestamp by in a new ZIP file name.
"d:\Program Files\7-Zip\7z.exe" a -r Code_%_my_datetime%.zip Code
Tôi có thể sống với điều này, nhưng nó có vẻ hơi lộn xộn. Lý tưởng nhất là nó dễ hiểu hơn và có định dạng được đề cập trước đó.
Tôi đang sử dụng Windows Server 2003 và Windows XP Professional. Tôi không muốn cài đặt các tiện ích bổ sung để đạt được điều này (mặc dù tôi nhận thấy có một số tiện ích sẽ thực hiện định dạng ngày tốt đẹp).
[datetime]::now.tostring("yyyy-MM-dd")