2012-03-20 81 views
1

我有一個批處理腳本,解壓縮文件夾中的某些文件,並且可能會多次調用此腳本。批處理腳本 - 重定向 - 可能的文件鎖定?

解壓縮我使用unzip.exe,並將其記錄到日誌文件中。例如這是進入這個日誌文件:

ECHO %DATE% - %TIME% >> Unzipped.log 
ECHO ERROR LEVEL IS: !ERRORLEVEL! >> Unzipped.log 
ECHO Error with file %1 >> Unzipped.log 

我的問題是,是否有可能在「Unzipped.log」文件獲取文件鎖定,如果我的批處理腳本中調用多次短時間?

我試過谷歌這個,但沒有運氣。我遇到問題的唯一時間是當我在Word中打開「Unzipped.log」文件時,我的批處理腳本不會寫入它。當我在Notepad/Notepad ++中打開它時,寫入日誌文件沒有問題。

回答

2

是的,如果批處理嘗試打開文件進行寫入,而另一個進程已打開文件進行寫入,那麼您肯定會因文件鎖定而失敗。這兩個進程可能位於同一臺計算機上,或者如果您正在處理共享網絡驅動器上的文件,它們可能位於不同的計算機上。這兩個過程都可以是批處理過程,但它們不一定是。

可以使用一小段代碼安全地從多個批處理「同時」寫入日誌文件以管理文件的鎖定。見How do you have shared log files under Windows?

相關問題