Что за хрень творится?!
Jun. 26th, 2012 10:53 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Сколько пишу .bat-файлы, но с такой хренью не сталкивался. У меня .bat-сценарий случайным образом (т.е. не каждый раз) выдает ошибку access denied при попытке исполнить только что созданную программу или при попытке удалить только что исполненную программу. Выглядит так, как будто программа еще не успела дописаться к моменту запуска и не успела отработать к моменту удаления.
Сам скрипт:
@echo off
:a
copy /B 7z.exe 7.exe >nul
7.exe >nul
del 7.exe >nul
goto a
В консоль выдает ошибки:
E:\->e.bat
Access is denied.
The requested operation cannot be performed on a file with a user-mapped section open.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
The requested operation cannot be performed on a file with a user-mapped section open.
Access is denied.
The requested operation cannot be performed on a file with a user-mapped section open.
Access is denied.
Access is denied.
Access is denied.
Сопутствующие обстоятельства:
1. ОС Windows 7 Enterprise, процессор Intel Core 2 Quad
(под XP не воспроизводится)
2. Антивирус - AVAST
(однако отключение всех его "экранов" в момент запуска скрипта не помогло)
3. Скрипт исполнялся в "консоли" Far и в стандартной консоли (cmd, start)
(глюк случается во всех консолях)
4. Диск E:, на котором все происходит, ничем не примечателен - обычный жесткий, никаких экзотических режимов на нем не включено
5. То, что в примере использован 7z.exe, неважно: тот же глюк воспроизводится, если взять какую-нибудь другую консольную программу, которая при запуске без параметров немного пишет в stdout и без задержки завершается.
Помогите разобраться, пожалуйста :)
Upd: спасибо
metaclass, проблема решена.
Сам скрипт:
@echo off
:a
copy /B 7z.exe 7.exe >nul
7.exe >nul
del 7.exe >nul
goto a
В консоль выдает ошибки:
E:\->e.bat
Access is denied.
The requested operation cannot be performed on a file with a user-mapped section open.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
Access is denied.
The requested operation cannot be performed on a file with a user-mapped section open.
Access is denied.
The requested operation cannot be performed on a file with a user-mapped section open.
Access is denied.
Access is denied.
Access is denied.
Сопутствующие обстоятельства:
1. ОС Windows 7 Enterprise, процессор Intel Core 2 Quad
(под XP не воспроизводится)
2. Антивирус - AVAST
(однако отключение всех его "экранов" в момент запуска скрипта не помогло)
3. Скрипт исполнялся в "консоли" Far и в стандартной консоли (cmd, start)
(глюк случается во всех консолях)
4. Диск E:, на котором все происходит, ничем не примечателен - обычный жесткий, никаких экзотических режимов на нем не включено
5. То, что в примере использован 7z.exe, неважно: тот же глюк воспроизводится, если взять какую-нибудь другую консольную программу, которая при запуске без параметров немного пишет в stdout и без задержки завершается.
Помогите разобраться, пожалуйста :)
Upd: спасибо
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
no subject
Date: 2012-06-26 07:02 am (UTC)no subject
Date: 2012-06-26 07:10 am (UTC)no subject
Date: 2012-06-26 07:12 am (UTC)no subject
Date: 2012-06-26 07:15 am (UTC)no subject
Date: 2012-06-26 07:05 am (UTC)no subject
Date: 2012-06-26 07:14 am (UTC)no subject
Date: 2012-06-26 07:22 am (UTC)timeout /T 1 >nul
если пауза в 1 не критична.
no subject
Date: 2012-06-26 07:25 am (UTC)no subject
Date: 2012-06-26 07:28 am (UTC)no subject
Date: 2012-06-26 07:32 am (UTC)no subject
Date: 2012-06-26 07:33 am (UTC)Добавь в фильтр "имя файла" 7.exe
И запиши лог операций с ними - далее его можно будет проанализировать на предмет пересекающихся операций с этим файлом.
no subject
Date: 2012-06-26 08:29 am (UTC)И почти наверняка антивирус. Видит новый экзешник, хочет проверить, открывает с эксклюзивным правом на чтение, а тут вдруг мы со своим удалением, "как некстати!..."
no subject
Date: 2012-06-26 08:17 pm (UTC)no subject
Date: 2012-06-26 08:37 am (UTC)no subject
Date: 2012-06-26 09:55 am (UTC)start /wait 7.exe
no subject
Date: 2012-06-26 10:08 am (UTC)Без этого интерпретатор не будет ждать завершения программы перед выполнением следующей команды.
no subject
Date: 2012-06-26 05:00 pm (UTC)no subject
Date: 2012-06-26 07:47 pm (UTC)no subject
Date: 2012-06-26 07:46 pm (UTC)no subject
Date: 2012-07-10 05:54 pm (UTC)no subject
Date: 2012-07-10 06:51 pm (UTC)no subject
Date: 2012-07-11 08:18 am (UTC)