我在C:\ Program Files \ ApplcationName \ filename.mdb有一个mdb文件。 请让我知道COPY命令使用.bat文件备份到文件夹C:\ Backup。 总之,由于“程序”和“文件”之间的空间,我有问题。
感谢jaz
备份的文件名部分是创build最差的部分。 你需要能够每天创build一个新的文件,没有太多的麻烦。 所以这就是我使用的:
如果你把这两个答案(我的和以前的答案)结合起来,你会得到这个gem:
set mydate=%date:~10,4%_%date:~4,2%_%date:~7,2% xcopy "%ProgramFiles%\ApplicationName\filename.mdb" C:\Backup\%mydate%_filename.mdb /H /K /O /Y
这样做会给你一个运行的日子,用date命名。
完整的备份脚本将如下所示
@echo off :: Yes this looks bad, but it works, it sets the file veriable mydate to YYYY_MM_DAY set mydate=%date:~10,4%_%date:~4,2%_%date:~7,2% echo Backing up DC1: :: start a new backup session, the /M switch is for the type of bakcup being performed, type ntbackup /? for more info start /wait ntbackup backup \\DC1\c$ /j "DC1 Backup" /f "C:\BAK\DC1\DC1_%mydate%.bkf" /M incremental echo DC1 is Done echo Backing up EXCH: start /wait ntbackup backup \\EXCH\c$ /j "EXCH Backup" /f "C:\BAK\EXCH\EXCH_%mydate%.bkf" /M incremental echo EXCH is Done echo Backing up FS1: start /wait ntbackup backup \\FS1\c$ /j "FS1 Backup" /f "C:\BAK\FS1\FS1_%mydate%.bkf" /M incremental echo FS1 is Done echo Backup was completed %date% %time% pause
这是一个完整的互动解决scheme。 但真正的权力是在set mydate线。 能够切割一个string是DOS中被遗忘的技术;
set mydate=%date:~10,4%_%date:~4,2%_%date:~7,2%
我使用date的命令输出,然后将其剪下,然后吐出一些可以用作文件名的东西。 这样每天都会创build一个新文件,并且可以拥有一个“真实”的备份系统。
只需编辑服务器名称,DC1,FS1,EXCH并放入您自己的,或只使用驱动器path。
我很长一段时间没有使用Windows,但是:
copy "source dir\foo.mdb" "target dir"
您可能需要查找有关要用于复制的交换机的联机帮助。
您可能想要使用robocopy或xcopy而不是复制。 他们都更强大。
关于空格的问题可以通过用引号括住path来解决。 例如,“%ProgramFiles%\ ApplicationName \ filename.mdb”将工作。 我会使用的命令是:
xcopy“%ProgramFiles%\ ApplicationName \ filename.mdb”C:\ Backup / H / K / O / Y
当你到达一个有空格的目录时,只需使用引号。
复制c:\“两个单词”\“另一个”\ FileIcareabout.bla c:\ backup \ FileIcareabout.bla
或者把每个path放在引号中
复制“c:\两个字\另一个\ FileIcareabout.bla”c:\ backup \ FileIcareabout.bla
在设置作业之前,用testing文件从命令行进行testing!
您遇到问题的原因是因为您需要在任何文件名或带空格的path中加引号。 使用at命令可以定时获取文件进行备份。 请参阅命令行参考
在这种情况下,如果您想要在每天晚上11点进行备份,则该行将是:
at 11:00PM /every: M,T,W,Th,F,S,Su cmd/c copy "C:\Program Files\ApplcationName\filename.mdb" d:\backups