Board logo

标题: [求助]批處理備份文件 [打印本页]

作者: liumingqing     时间: 2008-11-5 16:06    标题: [求助]批處理備份文件

我有一個數據庫文件,我想每次開機的時候對其進行備份.並且自動刪除或覆蓋超過一周的文件.若一天多次開機,則備份多個文件.例如:我要備份的文件是J:\data\PAPERSYSTEMFT.IB我想把它備份到k:\backup目錄下,此目錄內建立子目錄,區分周一至周日.想要開機運行的不要計劃任務的.應該如何編寫?

我是這樣想的,先在k:\backup目錄下建立7個子目錄,分別存放周一至周五的文件.執行批處理后自動判斷當天日期,判斷應該放入哪個目錄,複製J:\data\PAPERSYSTEMFT.IB文件到該目錄並改名為當天日期及時間,這樣可識別多次開機的備份.但是如何判斷刪除一星期之前的文件呢?不如如何處理才好!

[ Last edited by liumingqing on 2008-11-5 at 16:14 ]
作者: yishanju     时间: 2008-11-5 16:38
真受不了繁体字,虽然能看得懂

[ Last edited by yishanju on 2008-11-5 at 16:42 ]
作者: liumingqing     时间: 2008-11-5 16:49


  Quote:
Originally posted by yishanju at 2008-11-5 04:38 PM:
真受不了繁体字,虽然能看得懂

[ Last edited by yishanju on 2008-11-5 at 16:42 ]

不好意思!系統是繁體的.你可以把文字複製到word里,點轉換簡體就可以了.
作者: yishanju     时间: 2008-11-5 16:58
我继续说废话,其实这个不难的,我也做过类似的批处理,把网站每天修改的代码文件 ,数据库的备份,论坛昨天全天的附件,网站日志备份。分析,生成分析结果
结果花了两星期左右才完成所有代码。

这是很多年前干过的事情了,现在都不知道具体怎么写了。
作者: HAT     时间: 2008-11-5 17:57    标题: Re 2楼

关于繁体字的讨论,请参考:http://www.cn-dos.net/forum/viewthread.php?tid=43164
作者: HAT     时间: 2008-11-5 17:58    标题: Re 楼主

开始
运行
cmd
echo %date% %time%
把结果贴出来看看
作者: liumingqing     时间: 2008-11-6 08:56


  Quote:
Originally posted by HAT at 2008-11-5 05:58 PM:
开始
运行
cmd
echo %date% %time%
把结果贴出来看看

結果如下:
D:\>echo %date% %time%
2008/11/06 星期四  8:34:41.51
謝謝你的幫助!
作者: wwmmc     时间: 2008-11-6 14:11
恩,看不懂,提的 什么问题?
作者: liumingqing     时间: 2008-11-7 09:56
自己研究出來了!這個運行兩天了,還沒有出現問題.不過覺得不夠精減.還請大家提點意見和改進方案.

@echo off
date /t |find "星期一"
if errorlevel 1 goto NoFind1
if errorlevel 0 goto Find1
:NoFind1
date /t |find "星期二"
if errorlevel 1 goto NoFind2
if errorlevel 0 goto Find2
:Find1
rd k:\bostonbak\2 /s /q
md k:\bostonbak\2
xcopy J:\boston\data\PAPERSYSTEMFT.IB K:\bostonbak\1\"%date:~8,2%%time:~0,2%%time:~3,2%"\ /y
goto End
:NoFind2
date /t |find "星期三"
if errorlevel 1 goto NoFind3
if errorlevel 0 goto Find3
:Find2
rd k:\bostonbak\3 /s /q
md k:\bostonbak\3
xcopy J:\boston\data\PAPERSYSTEMFT.IB K:\bostonbak\2\"%date:~8,2%%time:~0,2%%time:~3,2%"\ /y
goto End
:NoFind3
date /t |find "星期四"
if errorlevel 1 goto NoFind4
if errorlevel 0 goto Find4
:Find3
rd k:\bostonbak\4 /s /q
md k:\bostonbak\4
xcopy J:\boston\data\PAPERSYSTEMFT.IB K:\bostonbak\3\"%date:~8,2%%time:~0,2%%time:~3,2%"\ /y
goto End
:NoFind4
date /t |find "星期五"
if errorlevel 1 goto NoFind5
if errorlevel 0 goto Find5
:Find4
rd k:\bostonbak\5 /s /q
md k:\bostonbak\5
xcopy J:\boston\data\PAPERSYSTEMFT.IB K:\bostonbak\4\"%date:~8,2%%time:~0,2%%time:~3,2%"\ /y
goto End
:NoFind5
date /t |find "星期六"
if errorlevel 1 goto NoFind6
if errorlevel 0 goto Find6
:Find5
rd k:\bostonbak\6 /s /q
md k:\bostonbak\6
xcopy J:\boston\data\PAPERSYSTEMFT.IB K:\bostonbak\5\"%date:~8,2%%time:~0,2%%time:~3,2%"\ /y
goto End
:NoFind6
rd k:\bostonbak\1 /s /q
md k:\bostonbak\1
xcopy J:\boston\data\PAPERSYSTEMFT.IB K:\bostonbak\7\"%date:~8,2%%time:~0,2%%time:~3,2%"\ /y
goto End
:Find6
rd k:\bostonbak\7 /s /q
md k:\bostonbak\7
xcopy J:\boston\data\PAPERSYSTEMFT.IB K:\bostonbak\6\"%date:~8,2%%time:~0,2%%time:~3,2%"\ /y
:End