%DATE%批处理变量在Windows 10中不起作用
我创建了一个批处理文件:
@ECHO OFF
C:
MKDIR C:\BACKUP
CD C:\BACKUP
ECHO backing up, plz wait...
MKDIR bkup-%date%
cd bkup-%date%
但是我得到一个错误说:"命令的语法不正确。"错误。
请帮帮我,谢谢。
答案 0 :(得分:1)
解决了!,我发现了一个帖子:
set datetimef=%date:~-4%_%date:~3,2%_%date:~0,2%_%time:~0,2%_%time:~3,2%_%time:~6,2%
echo datetimef
这解决了我的问题,谢谢。
答案 1 :(得分:1)
在我的系统上,在Windows 8上使用%date%
的日期格式为MM/dd/yyyy
(例如02/23/2016
)但升级到Windows 10后显示为Day MM/dd/yy
(例如Tue 02/23/16
)代替。这导致我的脚本中的文件夹路径中的/
个字符失败。在Start > Settings > Time & Language > Date & time
设置中,我注意到Short date
的格式已更改为M/d/yy
选项。当我将选项重置为MM/dd/yyyy
时%date%
的格式返回到MM/dd/yyyy
,我的程序根据该格式抓取日期部分再次正常工作。
如果要设置自定义日期格式,可以转到Region > Additional settings... > Date tab
并为Short date
设置自定义格式,然后将其用于命令提示符%date%
打印输出。< / p>
答案 2 :(得分:1)
rem only WINDOWS 10
CLS
@echo off
ECHO %DATE%
ECHO.
ECHO %TIME%
ECHO.
set mydate=%date:~11,4%-%date:~8,2%-%date:~5,2%
echo %mydate%
PAUSE
EXIT
答案 3 :(得分:0)
我遇到了同样的问题。我用%%B
而不是%date%
解决了它(莱昂纳多的回答在Windows 7上对我不起作用)。 Example
答案 4 :(得分:0)
使用字符替换:%date:/ =-%