wake-up-neo.net

Wie bekomme ich ein Datum in der BAT-Datei?

Ich muss heute Datum in Fenster *.bat-Datei erhalten. Danach möchte ich Tag, Monat und Jahr bekommen. Wie kann ich das machen?
Ich kann PowerShell nicht verwenden

22
Jacek

Du bekommst und formatierst so

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%
23
Ozan Yurtseven

Dies gibt Ihnen DD MM YYYY YY HH Min Sec-Variablen und funktioniert auf jedem Windows-Computer ab XP Pro und höher.

@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
47
foxidrive

%date% gibt das Datum an.

%time% gibt Ihnen die Zeit.

Die Befehle date und time /t geben Ihnen möglicherweise weitere Informationen.

19
canhazbits

Locale-unabhängiger Liner, um jedes gewünschte Datumsformat zu erhalten. Ich benutze es, um Archivnamen zu generieren. Die Option "Zurück-Anführungszeichen" ist erforderlich, da die PowerShell-Befehlszeile einfache Anführungszeichen verwendet.

:: Get date in yyyyMMdd_HHmm format to use with file name.
FOR /f "usebackq" %%i IN (`PowerShell ^(Get-Date^).ToString^('yyyy-MM-dd'^)`) DO SET DTime=%%i

:: Get formatted yesterday date.
FOR /f "usebackq" %%i IN (`PowerShell ^(Get-Date^).AddDays^(-1^).ToString^('yyyy-MM-dd'^)`) DO SET DTime=%%i

:: Show file name with the date.
echo Archive.%DTime%.Zip
1
Evaldas Jocys
set datestr=%date%
set result=%datestr:/=-%
@echo %result%
pause
0
jfindley