2012-03-12 93 views
4

我有一個批處理腳本,像這樣調用另一個;批處理文件似乎被緩存

call \\myserver\mypath\myfile.bat 

這一直工作正常約6年。不過,我最近對由此行調用的批處理腳本進行了更改。我很快意識到我的改變導致了一個問題,所以我恢復了我的改變。

但是,似乎有些客戶端仍在調用我的修改腳本。就好像他們有一個緩存副本。這可能嗎?如果是這樣,我如何清除緩存?

回答

0

我正在使用脫機文件。所以我編輯的批處理文件是我的機器上的本地副本。

2

是的,如果您嘗試通過網絡從遠程計算機執行批處理文件,則會緩存批處理文件。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa365201(v=vs.85).aspx

一個應用程序,可以從本地緩存中受益的類型是批處理文件。命令處理器一次讀取並執行一行批處理文件。對於每一行,命令處理器打開文件,搜索行的開頭,儘可能多地讀取它,關閉文件,然後執行該行。每條線都會導致很多網絡流量。通過在客戶端上緩存整個批處理文件,可以大大減少網絡流量。

我相信你可以使用net share命令的/cache:no參數禁用緩存。

http://technet.microsoft.com/en-us/library/bb490712.aspx

當然你也可以使用 「屬性 - > Sharing->高級Sharing->緩存」 從Windows接口部分做同樣的事情。

+0

我試過了,但用戶仍然獲得批處理文件的緩存副本。 – srayner 2012-03-12 14:20:53

+0

嗯,實際上「透明緩存」在默認情況下是禁用的,並且在網絡緩慢時才使用。但也許它是由於某種原因啓用的。請使用此鏈接檢查它(http://www.windowsitpro.com/article/networking/q-how-do-i-enable-transparent-caching-in-windows-7-),並禁用它,如果它啓用。我不確定是否是這種情況,但這可能會覆蓋一些選項。 – 2012-03-12 16:08:17