Подолгу не удаляются exe-файлы по Shift+Del в Windows 7

Обсуждение любых программ, не имеющих отношения к Total Commander.

Модераторы: CaptainFlint, Nik, d-view, Моторокер, Avada

Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Я имел в виду, что лучше не фильтровать, а искать. Встроенный фильтр сбрось на умолчания, чтобы не упустить ничего (в нем я не заметил опции поиска заданной строки во всех столбцах сразу). И ищи через Ctrl+F/F3 строки с именем подопытного.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Вот csv-log по фильтру. Пишите кто что думает.
Копировался файл C:\1\totalcmd.exe в C:\2\. Потом происходила попытка удаления с шифтом C:\2\totalcmd.exe.
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

Flasher
А если по Shift+F4 создать пустой файл с расширением exe, как с ним будет выполняться удаление?
Нет, я не сплю. Я просто медленно моргаю.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Batya
Без проблем. Правда у меня кнопка с твоим скриптом.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Лучше в PML лог выложить - можно будет загрузить его в Process Monitor и использовать его возможности просмотра/фильтрации и т.п. И копировать не файл тотала, а файл с произвольным именем - а то получается, что почти в каждой строчке есть обращение к totalcmd.exe. :)

А какой режим копирования в тотале стоит? Странно, что нет ни одного вызова API типа CopyFile или CopyFileEx. О-о, похоже на старый режим через ReadFile/WriteFile. Компактнее был бы лог, если бы через новый стандартный метод.

Кстати, вызова DeleteFile я тоже что-то не вижу...
Ага, похоже, он подразумевается в операции SetDispositionInformationFile. Но там идет обращение к C:\1\totalcmd.exe... :?:


ОК, облегчим себе задачу. Открываем консоль в папке с тестовым файлом testfile.exe и пустой подпапкой 1. Включаем лог. Выполняем команды:

Код: Выделить всё

copy testfile.exe 1
del 1\testfile.exe
Останавливаем и сохраняем лог. Изучаем - так он намного короче. :)
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV писал(а):Лучше в PML лог выложить - можно будет загрузить его в Process Monitor и использовать его возможности просмотра/фильтрации и т.п. И копировать не файл тотала, а файл с произвольным именем - а то получается, что почти в каждой строчке есть обращение к totalcmd.exe.
Ну так фильтр только по path. А то, что имя процесса Totalcmd.exe - ничего удивительного, я же из него пытаюсь выполнить данные операции. А csv можно в обычном блокноте смотреть, и размер у него в 10 раз меньше. Ну, раз запросил - даю.
MVV писал(а):А какой режим копирования в тотале стоит?
Стоял "Также использовать режим больших файлов". Хотя в данном случае неважно какой режим в TC, если в Проводнике при копировании и удалении та же картина.
MVV писал(а):Компактнее был бы лог, если бы через новый стандартный режим.
По ссылке выше - он.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Я в предыдущем посте предложил другой способ получения лога - выложи лог для операций из cmd.

Кстати, PML, помещенный в 7z, весит горааздо меньше... :roll:
Хотя, CSV в том же 7z весит горааздо меньше по сравнению с весом PML в 7z... :D Но его открывать через ж, и нельзя загрузить обратно в Process Monitor.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Ок, извиняюсь, в спешке не подумал насчёт ужатия. Новый лог.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Что-то не то. Не вижу записи в новый файл. Папка 1 точно существовала в текущей папке во время выполнения первой команды? Судя по логу, копирование выполнялось в файл C:\1\1, а не в файл C:\1\1\testfile.exe - но это значит, что расширение подопытного было не exe.

Уточняю. Файл testfile.exe и папка 1 должны быть рядом в одной папке, которая должна быть текущей во время выполнения описанных команд. Тогда копироваться файл будет с тем же именем в подпапку 1, и удаляться оттуда же.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Исправил с учётом уточнений.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

По идее, файл должен был удалиться...
Может, стоит записывать лог до того как файл вернется? Тогда для тестов можно использовать батник вида:

Код: Выделить всё

@echo off
md 1
copy testfile.exe 1
del 1\testfile.exe
:again
echo press a key to check if file exists...
pause
if not exist 1\testfile.exe goto again
echo.
echo STOP LOG!
pause
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV писал(а):Может, стоит записывать лог до того как файл вернется?
Куда вернётся?
MVV писал(а):echo STOP LOG!
Это как понимать?
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Ну, это как понимать?
Flasher писал(а):При попытке удалить exe-шник из Проводника происходит визуальное удаление, но при обновлении окна файл снова возвращается.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Так я тестирую с cmd, а не с Проводником. Откуда мне знать, в какой момент пропадает файл в окне Explorer-a? Хотя если учесть, что происходит это в считанные дс, то лог от этого точно не мог пострадать.

Добавлю ещё один нюанс. После попытки удалить с шифтом в свойствах exe-файла на вкладке \Безопасность\ всё пропадает и появляется лишь надпись "У вас нет разрешения на просмотр или изменение текущих разрешений для этого объекта".

Добавлено: Проблема решена включением службы Информация о совместимости приложений. Если же нужно её держать отключённой, то действуем так: команда gpedit.msc > Конфигурация компьютера > Административные шаблоны > Компоненты Windows > Совместимость приложений > включаем "Отключение обработчика совместимости приложений" и "Отключение помощника по совместимости программ", перезагружаем винду. При этом в свойствах файла исчезнет вкладка "Совместимость".
Источник.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

О как... В такие дебри я не залезал. Мелкомягкие отожгли, как всегда. :lol:
Ответить