#batch-file #logging #cmd #locking
#пакетный файл #ведение журнала #cmd #блокировка
Вопрос:
Я написал относительно большой пакетный скрипт (несколько вызовов, все вместе ~ 150 строк) и заметил проблему с файлом журнала, создаваемым указанным скриптом. Я использую файл журнала только с помощью команды echo, например echo this is a test >>test.log
, других процессов записи или чтения файла нет. Большую часть времени он работает отлично, но примерно в одном случае из 20 сценарий завершается с ошибкой, потому что файл журнала заблокирован. Что может быть причиной этого?
РЕДАКТИРОВАТЬ: я просмотрел старые журналы, которые у меня были, и я думаю, что могу с уверенностью сказать, что ошибка всегда возникает после этой команды fciv.exe !currentPath! -r -wp -xml %~dp0sourcehash.xml >>%~dp0Server.log
, так что это может быть проблемой с fciv.exe …
Комментарии:
1. Есть ли несколько пакетных файлов, которые могут вводиться одновременно? Этот файл будет заблокирован, если процесс чтения / записи в файл уже открыт при запуске нового.
2. Невозможно сказать без дополнительной информации.
3. @Arescet существует несколько пакетных файлов, но они не выполняются одновременно, все они вызываются основным командным файлом, который ожидает их завершения, прежде чем продолжить.
4. Можете ли вы выделить проблему и включить этот код?
5. @Marcs Я знаю, что это выглядит глупо без дополнительного контекста, но я не знаю, как указать: (Скрипт запускается каждый час и работает отлично, затем случайным образом первая команда echo при следующем запуске не работает. Я попытался погуглить его ofc и надеялся, что это известная проблема с исправлением….