如何使用date和时间创build文件夹?

我正在尝试做一个快速简单的游戏备份脚本,它不适合我。 这是我的。

@echo off :main RD /S /Q "C:\Users\Citadel\Desktop\Minecraft_Backups" mkdir "C:\Users\Citadel\Desktop\Minecraft_Backups\%date% - %time%" XCOPY "C:\Users\Citadel\AppData\Roaming\.minecraft\saves" "C:\Users\Citadel\Desktop\Minecraft_Backups\%date% - %time%" /D /E /C /R /I /K /Y echo %date% - %time% - Backup Complete >> log.txt PING 1.1.1.1 -n 1 -w 900000 >NUL goto main 

老实说mkdir命令是在黑暗中的一个镜头,但迄今为止没有任何工作,所以我试了一下。

问题是%date%%time%包含不能在目录名称中使用的特殊字符。 尝试在脚本的顶部:

 for /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b) for /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set mytime=%%a%%b) 

或者,如果您更喜欢24小时制,请将第二行更改为:

 for /f "tokens=1-2 delims=/:" %%a in ("%TIME%") do (set mytime=%%a%%b) 

然后使用%mydate%_%mytime%来代替%date% %time%

请注意,这可能会有区域问题,但是如果您确认它适用于您的计算机,则对于本地备份而言,它始终没问题。

这是我发现,似乎工作:

 @setlocal enableextensions set datestamp=%date:~-4,4%%date:~-10,2%%date:~7,2% mkdir %datestamp%