【问题标题】:How do I create a folder using the date and time?如何使用日期和时间创建文件夹?
【发布时间】:2012-05-14 20:29:41
【问题描述】:

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

   @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 命令是在黑暗中开枪,但到目前为止没有任何效果,所以我尝试了它。

【问题讨论】:

  • 嗯,这是我已经有一段时间的问题的一个例子。无法让任何备份脚本工作,因为我对所有这些脚本都使用了这种格式并且只是对其进行了改造。
  • 因为我不擅长编程,而批处理可以完成这项工作,同时易于编辑。我会用 Python 编写它,但同样,我不知道如何使用日期和时间创建文件夹。

标签: windows command-line batch-file


【解决方案1】:

问题在于%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%

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

【讨论】:

  • 谢谢。我会投票,但我没有代表。 XD 很有帮助。
【解决方案2】:

这是我发现似乎可行的方法:

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

【讨论】:

  • 这不包括时间
猜你喜欢
  • 2011-07-11
  • 2011-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-24
  • 1970-01-01
  • 2022-08-08
  • 2017-12-16
相关资源
最近更新 更多