windows - 如何使用日期和时间创建文件夹?

标签 windows command-line batch-file

我正在尝试制作一个快速而简单的游戏备份脚本,但它对我不起作用。这是我所拥有的。

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

请注意,这可能存在区域问题,但如果您确认它适用于您的计算机,则对于本地备份来说,它总是没问题。

关于windows - 如何使用日期和时间创建文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10590567/

相关文章:

windows - 为什么使用管道在 powershell 中不起作用?

c - 需要帮助在 Windows 上严重重定向计时器程序的输入和输出

c++ - 在命令行上将 HRESULT 作为字符串传递

windows - powershell 脚本和 subst 命令

Java非阻塞输入

php - 如何将数据库表转换为 Doctrine 实体

batch-file - "CD/D C:\"什么也没做

batch-file - 如何使用批处理文件查找Windows的默认驱动器

oracle - 如何从批处理文件执行sql文件并将输出显示到屏幕

命令行的Python utf编码问题