批处理文件似乎是缓存的

时间:2012-03-12 12:53:12

标签: windows batch-file cmd

我有一个批处理脚本,可以像这样调用另一个;

call \\myserver\mypath\myfile.bat

这已经有效了大约6年。但是我最近对这行调用的批处理脚本进行了更改。我很快意识到我的更改导致了一个问题,所以我还原了我的更改。

然而,似乎有些客户仍在调用我修改过的脚本。好像他们有一个缓存副本。这可能吗?如果是这样,我该如何清除缓存?

3 个答案:

答案 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

当然,您可以使用Windows界面中的“属性 - >分享 - >高级共享 - >缓存”部分执行相同的操作。

答案 1 :(得分:0)

我正在使用脱机文件。所以我正在编辑的批处理文件是我机器上的本地副本。

答案 2 :(得分:0)

就我而言(使用Console2),它有助于打开一个新的终端标签。看来缓存是由终端完成的,而不是操作系统。