我有些问题想请教。
是关于用批处理备份oracle数据库的。想用他写一个可以以日期为名字备份数据库文件。例如存成20080125.dmp
并在存储的同时删除之前的文件(就是想一直保留一个月的数据库备份文件)。 以下是我写的,可以存储,但日期中间有-,删除之前文件的还不会写。想请教大家。谢谢大虾!呵呵
@echo off set dmpname=szsdh-%date:~0,10%-%time:~0,5%
set dmpname=%dmpname::=-%
set dmpname=%dmpname: =0%
echo %dmpname%
set NLS_LANG=AMERICAN_AMERICA.ZHS16CGB231280
exp user/password@domain file=E:\oracle_backup\%dmpname%.dmp log=E:\oracle_backup\%dmpname%.log怎么删除过去的文件啊??????
脚本如下:
@echo off set dmpname=szsdh-%date:~0,10%-%time:~0,5%
set dmpname=%dmpname::=-%
set dmpname=%dmpname: =0%
set year=%date:~0,4%
set month=%date:~5,2%
set dirname=%year%-%month%
echo %dmpname%
makedir %dirname%
set NLS_LANG=AMERICAN_AMERICA.ZHS16CGB231280
exp user/password@domain file=E:\oracle_backup\%dirname%\%dmpname%.dmp log=E:\oracle_backup\%dirname%\%dmpname%.log
set /A dmonth=%month%-1
if /I %dmonth% EQU 0 (
set /A dmonth=1
set /A dyeay=%year%-1
)else(
set /A dyeay=%year%
)
set ddirname=%dyear%-%dmonth%
if exist E:\oracle_backup\%ddirname% (
cd E:\oracle_backup\%ddirname%
del *.* /Q
cd ..
rd E:\oracle_backup\%ddirname%
)