Parece que B está sendo executado antes de A terminar. Uma maneira de evitar isso é usar o START. Execute A com este comando: start / wait a . O arquivo em lote não continuará até que A termine a execução.
Eu tenho um arquivo de lote normal, rodando no XP. Primeiro, o programa A envia dados (uma string) para o final do arquivo X.dll
(no servidor). Então o programa B abre o arquivo e procura os dados. No entanto, às vezes (geralmente), o programa B está evidentemente lendo uma versão do arquivo antes da sequência ter sido anexada, apesar do fato de estar sendo executada sequencialmente após o programa A ter retornado.
Se chamarmos dir X.dll
entre A e B, então B lerá o arquivo alterado corretamente.
O mesmo batch, executado em uma máquina com Windows 7 na mesma rede, funciona perfeitamente.
Alguém tem alguma idéia do que está acontecendo?
Parece que B está sendo executado antes de A terminar. Uma maneira de evitar isso é usar o START. Execute A com este comando: start / wait a . O arquivo em lote não continuará até que A termine a execução.
Tags windows-xp batch