1

当我使用批处理命令编写时call,命令是:

call d:\Hot_gen.bat %B_SCRIPT_TARGET% %B_BACKUP_TARGET%>>%logdir%\hot_gen%date:~0,4%%date:~5,2%%date:~8,2%.log

但在执行结果是:

C:\Users\Administrator\Desktop\BAT>call d:\Hot_gen.bat d:\ora\scripttar d:\oraba
k\baktar  \hot_gen20131002.log 1>>d:\ora\log
refuse access

为什么会有结果?我只想>>将调用结果记录到日志文件中。

谢谢!

4

2 回答 2

3

试试这个来避免尾随空格%logdir%

set "logdir=d:\ora\log"
>>"%logdir%\hot_gen%date:~0,4%%date:~5,2%%date:~8,2%.log" call d:\Hot_gen.bat %B_SCRIPT_TARGET% %B_BACKUP_TARGET%
于 2013-10-02T06:19:45.080 回答
1

环境变量的值logdir末尾有一个空格。

这很可能是因为您在某处有一条线,上面写着

 set logdir=d:\ora\log

并且在行尾有一个额外的空间。

于 2013-10-02T05:13:20.380 回答