Я занимаюсь разработкой алгоритма резервного копирования, аналогичного Time Machine (программное обеспечение «непрерывного резервного копирования»). Я успешно в этом через пакетный файл (командная строка). Он работает почти каждые 3 минуты в течение менее минуты каждый «раунд». Пакетный файл запускается в окне командной строки (которое я могу скрыть, если мой код уже работает нормально).
Единственная проблема, с которой я сталкиваюсь, заключается в том, что при выключении мне приходится ждать, пока пакетный файл завершит свой «раунд», прежде чем я смогу нажать кнопку выключения (или, в противном случае, нажатие выключения в любое другое время приведет к ошибкам - до Команды будут прерваны посреди чего-либо, таким образом, алгоритм разрушен). Я хочу сделать это автоматически, то есть я могу нажать кнопку выключения, тогда мой пакетный файл должен ждать завершения «раунда», команды dos не должны прерываться, тогда только после «раунда» он должен разрешить машину выключить.
Программы DOS, которые я использую и которые беззастенчиво завершаются: ln (найден в Интернете - используется для жесткой ссылки на файлы), копировать, перемещать (плюс такие вещи, как циклы, команда dir и т. Д. Разрушены).
Как я могу предотвратить некорректное завершение работы этих приложений в моих пакетных файлах? (и любое другое приложение, которое я запускаю?)
Я пытался запустить его от имени другого пользователя, но все равно приложения закрываются при завершении работы. Я думал о запуске команды в Visual Basic при использовании кода «предотвращение завершения работы» в VB, но только приложение VB не завершается, пакетный файл, который я запускал внутри приложения VB, а также приложение, которое он запускает, завершаются точно так же.
Помощь
ccxzy