我有一个批处理脚本,可以像这样调用另一个;
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
当然,您可以使用Windows界面中的“属性 - >分享 - >高级共享 - >缓存”部分执行相同的操作。
答案 1 :(得分:0)
我正在使用脱机文件。所以我正在编辑的批处理文件是我机器上的本地副本。
答案 2 :(得分:0)
就我而言(使用Console2),它有助于打开一个新的终端标签。看来缓存是由终端完成的,而不是操作系统。