У меня есть обычный командный файл, работающий на XP. Сначала программа A добавляет данные (строку) в конец файла X.dll (на сервере). Затем программа B открывает файл и ищет данные. Однако иногда (обычно) программа B, очевидно, читает версию файла до добавления строки, несмотря на то, что она выполняется последовательно после того, как программа A вернулась.

Если мы вызываем dir X.dll между A и B, то B правильно читает измененный файл.

Тот же пакетный файл, работающий на компьютере с Windows 7 в той же сети, работает безупречно.

У кого-нибудь есть идеи, что происходит на земле?

1 ответ1

1

Похоже, Б работает до того, как А закончил Один из способов избежать этого - использовать START. Запустите А с помощью этой команды: запустить / подождать. Пакетный файл не будет продолжаться до тех пор, пока А не закончит работу.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .