利用批处理 dos中 copy命令 自动备份文件 中怎么在文件名中加如时间

来源:百度知道 编辑:UC知道 时间:2024/05/22 15:04:20
比如:2006年12月1日 将c盘下中的1.mdb 备份成d:\备份\20061201_1.mdb
2006年12月2日 将c盘下中的1.mdb 备份成d:\备份\20061202_1.mdb
2006年12月3日 将c盘下中的1.mdb 备份成d:\备份\20061201_3.mdb

要求用一批处理来执行,该命令放在 启动目录里面 开机就执行。
现在 我用这样的代码基本实现了功能:
copy D:\0\NGpsData\DataBase\G.mdb f:\备份\数据库备份\%date:~2,2%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%_G.mdb

但是 出现如果时间是 2000-01-06 08:02:00
即 时间小于 10 点 的话 就提示错误
这怎么解决?

复制以下代码保存为bat即可.
@echo off
for /f "tokens=1,2,3 delims=- " %%a in ('date/t') do (
copy/y "c:\1.mdb" "d:\备份\%%a%%b%%c_1.mdb"
)
exit

在DOS下的copy命令中,没有增加时间的参数,也就是说“不能这样”。