2013-10-02 17 views
14

Muszę uzyskać dzisiejszą datę w pliku Window *.bat. Po tym chciałbym dostać dzień, miesiąc i rok. Jak mogę to zrobić?
Nie mogę używać programu PowerShellJak uzyskać datę w pliku BAT

+1

Wystarczy taśma [echo% date%] lub [echo% date% >> "test.txt"] dla zapisać datę w nowym pliku tekstowym –

+1

@MehdiBugnard Wydaje się, że to nie jest dla użytkownika, ale wyjście do pracy z nim w innej partii ... – Wolf

Odpowiedz

12

dostać i format jak ten

for /f "tokens=1-4 delims=/ " %%i in ("%date%") do (
    set dow=%%i 
    set month=%%j 
    set day=%%k 
    set year=%%l 
) 
set datestr=%month%_%day%_%year% 
echo datestr is %datestr% 
+10

Jest to zależne od ustawień regionalnych na komputerze. Jeśli to działa, to dobrze, ale nie jest to niezawodna metoda. – foxidrive

+0

Powinieneś dodać, że twoje rozwiązanie działa z angielską lokalizacją. Szczególnie w moim przypadku data jest następująca '01.12.2015', więc to rozwiązanie mogło pomóc (co jest świetne), ale jego wartość jest ograniczona. Ogranicz wyraźność i myślę, że prawdopodobnie uda ci się zdobyć trochę więcej głosów. – Wolf

+0

@Wolf Istnieje wiele różnych ustawień regionalnych w języku angielskim z różnymi formatami dat, np. AU, UK, US ... –

15

%date% poda datę.

%time% da ci czas.

Komendy date i time /t mogą dostarczyć więcej szczegółów.

38

To daje DD MM YYYY YY HH Min Sec zmienne i działa na każdym komputerze z systemem Windows XP Pro i od później.

@echo off 
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a" 
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%" 
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%" 

set "datestamp=%YYYY%%MM%%DD%" & set "timestamp=%HH%%Min%%Sec%" 
set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%" 
echo datestamp: "%datestamp%" 
echo timestamp: "%timestamp%" 
echo fullstamp: "%fullstamp%" 
pause 
+0

Nigdy bym nie spodziewał się znaleźć takiego przydatnego narzędzia tutaj: [WMIC] (https : //technet.microsoft.com/en-us/library/bb742610.aspx#EDAA) - dzięki za wprowadzenie :-) – Wolf

+0

To jest genialne, dzięki! –