我有一个在 XP 上运行的普通批处理文件。首先,程序 A 将数据(字符串)附加到文件末尾X.dll
(在服务器上)。然后程序 B 打开文件并查找数据。但是,有时(通常),程序 B 显然正在读取文件的一个版本前尽管该操作是在程序 A 返回后按顺序执行的,但字符串已被附加。
如果我们dir X.dll
在 A 和 B 之间调用,那么 B 就会正确读取更改后的文件。
在同一网络上的 Windows 7 机器上运行的同一批批文件运行完美。
有人知道到底发生了什么事吗?
答案1
看起来 B 在 A 完成之前就开始运行了。避免这种情况的一种方法是使用 START。使用以下命令运行 A:开始/等待批处理文件直到A运行完毕才会继续。