windows 如何获取BAT文件中的日期

fcipmucu  于 2022-12-14  发布在  Windows
关注(0)|答案(6)|浏览(474)

我需要在Windows *.bat文件中获得今天的日期。之后,我想获得日,月和年。我该怎么做呢?
我无法使用PowerShell

icomxhvb

icomxhvb1#

这将为您提供DD MM YYYY YY HH Min Sec变量,并适用于XP Pro及更高版本的任何Windows机器。

@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
yyhrrdl8

yyhrrdl82#

您会得到这样的格式

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%

**注意:以上仅适用于US语言环境。**假定echo %date%的输出如下所示:Thu 02/13/21。如果您有不同的Windows区域设置,则需要根据您的配置修改脚本。

nhn9ugyo

nhn9ugyo3#

%date%将为您提供日期。
%time%会给予你时间。
datetime /t命令可以给予更多详细信息。

mfpqipee

mfpqipee4#

独立于区域设置的一行程序,可以获得任何您喜欢的日期格式。我用它来生成归档名称。需要反引号(')选项,因为PowerShell命令行使用单引号(')。

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

:: Get yesterday date in 'yyyy-MM-dd' format.
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
x6492ojm

x6492ojm5#

set datestr=%date%
set result=%datestr:/=-%
@echo %result%
pause
t40tm48m

t40tm48m6#

这将给予您提供保存到%today%中的mmddyyyy格式的日期(假设您的区域设置为美国区域设置)。

FOR /f "tokens=2-4 delims=/ " %%a IN ("%date%") DO SET today=%%a%%b%%c

在我的情况下,我正在寻找创建一个文件夹与今天的日期,像这样...
mkdir C:\用户\LKrell\文档%今天%

相关问题