Windows 批处理文件似乎已被缓存
我有一个批处理脚本,它调用另一个这样的脚本Windows 批处理文件似乎已被缓存,windows,batch-file,cmd,Windows,Batch File,Cmd,我有一个批处理脚本,它调用另一个这样的脚本 call \\myserver\mypath\myfile.bat 这已经正常工作了大约6年。但是,我最近更改了此行调用的批处理脚本。我很快意识到我的更改导致了问题,所以我恢复了更改 然而,似乎有些客户端仍在调用我修改过的脚本。就像他们有一个缓存的副本一样。这可能吗?如果是,如何清除缓存?是的,如果您试图通过网络从远程计算机执行批处理文件,则会缓存批处理文件 一种可以从本地缓存中获益的应用程序类型是批处理文件。命令处理器一次读取并执行一行批处理文件
call \\myserver\mypath\myfile.bat
这已经正常工作了大约6年。但是,我最近更改了此行调用的批处理脚本。我很快意识到我的更改导致了问题,所以我恢复了更改
然而,似乎有些客户端仍在调用我修改过的脚本。就像他们有一个缓存的副本一样。这可能吗?如果是,如何清除缓存?是的,如果您试图通过网络从远程计算机执行批处理文件,则会缓存批处理文件 一种可以从本地缓存中获益的应用程序类型是批处理文件。命令处理器一次读取并执行一行批处理文件。对于每一行,命令处理器打开文件,搜索到行的开头,读取所需的内容,关闭文件,然后执行该行。每条线路都会产生大量的网络流量。通过在客户机上缓存整个批处理文件,可以大大减少网络流量 我相信您可以使用
netshare
命令的/cache:no
参数禁用缓存
当然,您也可以使用Windows界面中的“属性->共享->高级共享->缓存”部分执行相同的操作。我使用的是脱机文件。因此,我正在编辑的批处理文件是我机器上的本地副本。在我的情况下(使用),它有助于打开一个新的终端选项卡。缓存似乎是由终端完成的,而不是由操作系统完成的。我尝试了这一点,但用户仍在获取批处理文件的缓存副本。实际上,“透明缓存”在默认情况下是禁用的,只有在网络速度较慢时才会使用。但可能是出于某种原因启用了它。请使用此链接()检查它,如果已启用,请禁用它。我不确定是否是这样,但这可能会覆盖一些选项。