使用exp备份文件用当前日期做为文件名?
操作系统为win2000
写了个bat,调用exp进行数据库备份,如下:
exp user/psw@SID file='%date:~4,10%.dmp' log='EXP.log'
报错:
Connected to: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
EXP-00028: failed to open 05/12/2006.dmp for write
Export file: EXPDAT.DMP >
意思应该是无法处理文件名'05/12/2006.dmp',估计是由于exp工具对'/'符号无法处理所造成的。 因为如果将原文file='%date:~4,10%.dmp'改成'%date:~4,2%.dmp',只取dd部分就没问题,可以生成'05.dmp'文件。
这个该怎么处理呢?
------解决方法--------------------------------------------------------
批处理文件
set yr=%date:~0,4%
set mo=%date:~5,9%
set mo=%mo:~0,2%
set dy=%date:~8,10%
set dmpName=%yr%_%mo%_%dy%.dmp
exp user/psw@SID file=%dmpName% log=EXP.log