我如何将一个文件夹完全复制到另一个文件夹,并通过添加日期更改名称

时间:2019-07-15 18:08:43

标签: batch-file

我尝试制作一个批处理文件,该文件每次关闭游戏都会创建一个游戏的备份文件夹,但是当我尝试它时,只是说我的目的地名称无效 这是我尝试过的:

set name='\save\world|%date%-%time%'
echo R | xcopy world %name% /E/H
pause

2 个答案:

答案 0 :(得分:0)

您可以使用“ for”来解析字符串,命令或目录列表中的标记。 “ for”命令在批处理文件中完成了很多繁重的工作。

for /f "Tokens=1-4 Delims=:. " %%i in ("%time%") do set tm=%%i.%%j.%%k.%%l
for /f "Tokens=1-4 Delims=/ " %%i in ("%date%") do set dt=%%l.%%j.%%k
set bkupname=\temp\save\world-%dt%.%tm%\
xcopy world %bkupname% /E /H

答案 1 :(得分:0)

感谢Stephan所说的

  

a)单引号在批处理中没什么特别的-它们就像任何字符一样。 b)|不是文件名的有效字符。 c)您的日期和时间变量可能还包含在文件名中无效的字符。

这就是我所做的并且可以正常工作,谢谢

set name="world %date:~0,2% %date:~3,2% %date:~8,2% %time:~0,2%h%time:~3,2%"
echo R | xcopy world .\save\worldtemp /E/H
move .\save\worldtemp .\save\%name%
pause