我尝试制作一个批处理文件,该文件每次关闭游戏都会创建一个游戏的备份文件夹,但是当我尝试它时,只是说我的目的地名称无效 这是我尝试过的:
set name='\save\world|%date%-%time%'
echo R | xcopy world %name% /E/H
pause
答案 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