[code=BatchFile]
@echo off
exp username/password@servername file=E:\user_%date%.dmp buffer=8192000 log=E:\log_%date%.log
[/code]
看看上面的写法有什么问题吗?
我把log=E:\log_%date%.log写成log=E:\log.log就是可以的,一加上这个时间就报log参数错误,log不能有多个参数,但是file=E:\user_%date%.dmp是正常的
我的目的就是备份按照日期存储备份的文件和备份的日子文件
哪位大侠帮我看看,我这个写的有什么问题,谢谢了
在线等。。

解决方案 »

  1.   

    date命令显示的是2009-03-16 星期一,log参数路径是作为字符串来处理的,导致LRM-00112: 参数 'log' 不允许有多个值错误
    请试用该方法
    先给变量赋值,截取的字符串取决你机器的日期设置
    set mydate=%DATE:~0,10%
    exp scott/tiger@ora9i file=e:\user_%date%.dmp log=e:\ora_%mydate%.log;
      

  2.   

    OK了,谢谢楼上的
    不过虽然问题是解决了
    但是我还有个问题没有搞懂
    为什么file=E:\user_%date%.dmp直接显示的结果就是"yyyy-mm-dd"格式的
    而log=E:\log_%date%.log里面的%date%就等于"yyyy-mm-dd 星期几"这种格式的?
    我直接显示%date%格式也是"yyyy-mm-dd 星期几"
    不知道咋回事
    难得file=...后面的%date%还能被file屏蔽掉什么不成,不理解
      

  3.   

    给时间加上格式 44看
    log=E:\log%date:~4,10%.log