2013-10-02 81 views
1

當我與批處理命令使用call寫,命令爲:Windows批處理執行關於呼叫命令

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 

爲什麼具有這樣的效果?我只是想將>>的調用結果記錄到日誌文件中。

謝謝!

+0

難道這些解決方案可幫助你嗎? – foxidrive

回答

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% 
1

環境變量logdir的值在最後有一個空格。

,因爲你已經有了一個線的地方,說

set logdir=d:\ora\log 

,並有在該行的最後一個額外的空間,這是最有可能。