1

Тема: CMD/BAT: Ожидание завершения работы bat-файл

Добрый вечер!
Помогите, пожалуйста решить следующую проблему.

У меня есть bat-файл который выполняет определенную задачу, и после окончания работы не закрывается, а ждет закрытия от пользователя. Допустим во время работы первого bat-файл я запускаю еще одну копию bat-файла, как мне сделать, чтобы вновь запущенный bat-файл ждал ожидания завершении работы первого bat-файла. Проблема в том, что первое окно bat-файла не закрыто, а мне надо запустить в работы его вторую копию.

Иными словами сделать функцию как в WinRAR

http://habrastorage.org/storage2/538/540/6f7/5385406f7d9957b05744998db6d5ace9.png

2

Re: CMD/BAT: Ожидание завершения работы bat-файл

Посмотрите: CMD/BAT: запуск единственной копии сценария.

3

Re: CMD/BAT: Ожидание завершения работы bat-файл

не совсем понял, как это может помочь с моей проблемой?

4

Re: CMD/BAT: Ожидание завершения работы bat-файл

lorents, по той ссылке показан механизм запрета параллельного запуска скрипта. Ожидание завершения запущенной копии скрипта - аналогична приведенной задаче.

( 2 * b ) || ! ( 2 * b )

5 (изменено: lorents, 2013-02-06 00:17:21)

Re: CMD/BAT: Ожидание завершения работы bat-файл

Понял, спасибо большое

6 (изменено: lorents, 2013-02-08 00:48:02)

Re: CMD/BAT: Ожидание завершения работы bat-файл

@echo off

if defined secondary goto :main
set "secondary=yes"

:loop
2>nul cmd /c ""%~f0" %* 3>>"%~f0.lck"" || (ping -n 1 -w 1000 127.255.255.255 >nul & goto:loop)
exit

:main
echo Single
pause

Сейчас при повторном запуске батника, выходит что файл "%~f0.lck" занят другим процессом, подскажите, как мне можно разблокировать данный файл?