Удаление файлов из корзины
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3, 4, 5, 6  Next  :| |:
Total Commander -> Автоматизация Total Commander

#46:  Author: imig73Location: г. Иркутск PostPosted: Thu Jul 19, 2018 22:03
    —
Lisabon
У меня UAC тоже включен и никаких ошибок не вижу. Срипт не обязательно запускать от админа, он и так работает при обычном запуске из Exporer.

#47:  Author: Lisabon PostPosted: Thu Jul 19, 2018 23:03
    —
imig73
Quote:
не обязательно запускать от админа

Не обязательно, но... Если запустить от админа, то ошибка есть, а если не запускать от админа, то ошибки - нет. Это на Win 7.

Для Vista... Если не запускать от админа, то ошибка:
Code:
Сценарий:   C:\EmptyRecycleBin.vbs
Строка:   13
Символ:   3
Ошибка:   Неопознанная ошибка
Код:   80004005
Источник:    (null)

Если запустить от админа, то ошибка:
Code:
Сценарий:   C:\EmptyRecycleBin.vbs
Строка:   12
Символ:   1
Ошибка:   Невозможно создание объекта контейнером ActiveX: 'GetObject'
Код:   800A01AD
Источник:    Ошибка выполнения Microsoft VBScript

#48:  Author: imig73Location: г. Иркутск PostPosted: Thu Jul 19, 2018 23:15
    —
Lisabon
Ах Vista, ну тада не знаю у меня её нету и не могу протестировать. На 7, 8 и 10 любой разрядности ошибок нет, хоть как запускай...

#49:  Author: Skif_off PostPosted: Fri Jul 20, 2018 00:33
    —
Как-то это странно, держать целую утилиту или скрипт для очистки корзины, не? С NirCmd понятно - утилиту можно использовать не только для этого.

Очистка корзины на AutoIt, одной командой:
Code:
"%COMMANDER_PATH%\AutoIt3.exe" /AutoIt3ExecuteLine "FileRecycleEmpty()"

Очистка корзины конкретного диска, пусть будет D:
Code:
"%COMMANDER_PATH%\AutoIt3.exe" /AutoIt3ExecuteLine "FileRecycleEmpty('D:\')"

Хотя есть нюанс: требуется наличие IE4+.

#50:  Author: imig73Location: г. Иркутск PostPosted: Fri Jul 20, 2018 01:12
    —
Skif_off wrote:
Как-то это странно, держать целую утилиту или скрипт для очистки корзины, не?

Наверное всё же "не", ведь autoit3.exe это тоже утилита 732,7 KB, ИМХО скрипт на 993 байта выглядит практичней. Если уж утилита, то тогда RecycleNOW на 20 KB. Конечно если есть куча полезных скриптов для autoit, то и вопросов нет.

#51:  Author: FlasherLocation: Москва PostPosted: Fri Jul 20, 2018 01:27
    —
Skif_off wrote:
С NirCmd понятно
Что понятно? Это? :
imig73 wrote:
nircmd утилита годная и много чего умеет, но не для тотала она у меня
Про FileRecycleEmpty (в т. ч. в AHK) я прекрасно знал, но мне было даже стыдно такое предлагать, навязывая интерпретатор, в 1000 раз больший, чем скрипт...

imig73 wrote:
это тоже утилита 732,7 KB
Последняя x32 = 875 Кб и x64 = 990 Кб.
imig73 wrote:
то тогда RecycleNOW на 20 KB.
rbc вообще 10 Кб весит. Wink

#52:  Author: Skif_off PostPosted: Fri Jul 20, 2018 07:06
    —
imig73 wrote:
Наверное всё же "не", ведь autoit3.exe это тоже утилита

Естественно, нет смысла брать AutoIt ради одной команды очистки корзины и пример на AutoIt связан не с первым вопросом, а названием темы и с "утилиту можно использовать не только для этого".
У меня скриптов десятка 3 точно и, думаю, я не одинок. Или: количество скачиваний TCIMG с сайта wincmd.ru 237361, заодно пробуем
Code:
"%COMMANDER_PATH%\TCIMG\TCIMG.exe" /AutoIt3ExecuteLine "FileRecycleEmpty()"

Работает. И понятно, почему. Запуск любого скрипта:
Code:
"%COMMANDER_PATH%\TCIMG.exe" /AutoIt3ExecuteScript "%COMMANDER_PATH%\Utils\DontSleep.au3"

Т.е. если уже есть, зачем тянуть что-то ещё, на 20 КБ, 10 КБ или даже 993 Б?

Flasher wrote:
я прекрасно знал, но мне было даже стыдно такое предлагать

Как-по мне, не стыдно озвучить все варианты, как ты нередко делаешь.

#53:  Author: imig73Location: г. Иркутск PostPosted: Fri Jul 20, 2018 09:10
    —
Skif_off
Юзер сам решит что ему надо, ваш совет с Autoit имеет право на жизнь + 30 скриптов к нему. Вот у меня есть Autoit и 1 скрипт по замене текста в файлах по нескольким полям, но не пригодился за 2 года ни разу, теперь уберу вместе с интерпретатором.

Касаемо TCIMG, здесь вообще его возможности зашкаливают, но размер в почти 15 MB мне однозначно не нужен, как и сами его функции. Помню на ру-борде в теме по сборкам, сборки на 2,36GB(!) со всяким говном, и не впечатляет утилита эта такого размера с кучей не нужного в работе барахла, которое создатель запихал в 1 exe.

993 Б тянуть не надо, им пользуешся уже второй день и не замечаешь его совсем.

Варианты нужно озвучить все, против никто не будет и как уже написал "Юзер сам решит что ему надо".

#54:  Author: FlasherLocation: Москва PostPosted: Fri Jul 20, 2018 10:36
    —
Skif_off
Я смотрю, ты в провокаторы заделался. Есть ряд скриптовых языков, но ты из них всех тянешь именно AutoIt и выдаёшь его с позиции, что лучше для остальных. И кому тут интересно какое-то липовое кол-во скачиваний, из которого в лучшем случае 0.0005% реальных пользователей? Спецом для тебя.

Skif_off wrote:
Т.е. если уже есть, зачем тянуть что-то ещё, на 20 КБ, 10 КБ или даже 993 Б?
Если есть. А если нет? Ты сам понимаешь, что это глупый вопрос, в котором сравниваемое может быть переставлено местами? Ты понимаешь, что то, о чём ты пишешь, это пакет из 100+ файлов, которые тоже надо "тянуть"? (рит.)

Skif_off wrote:
как ты нередко делаешь.
Приведи хоть один пример. Тебя за язык никто не тянул.
Хочешь заняться публикацией всех решений, так вперёд. Есть ещё по меньшей мере 100 вариантов на всяких языках. Ждём твоих изысканий.

#55:  Author: CaptainFlintLocation: Москва PostPosted: Fri Jul 20, 2018 16:06
    —
Перепалку прекращаем. Альтернативные решения в разумных пределах предлагать не возбраняется, а кому надо, будет сам выбирать, какие из вспомогательных инструментов ему влом скачивать, а какие не влом.

#56:  Author: FlasherLocation: Москва PostPosted: Fri Jul 20, 2018 18:15
    —
Lisabon
Тогда так:
Code:
'====== VBS ======
' Очистить корзину
'===== Flasher © =
Option Explicit: Dim RBin, Old, Par, Str, i, L, Title, A
Set RBin = CreateObject("Shell.Application").NameSpace(10)
With CreateObject("Scripting.FileSystemObject")
  Old = .GetFileVersion(.GetSpecialFolder(1) & "\shell32.dll") < "6.0.6"
  If Old Then Par = 625 : Str = 6 Else Par = 1050 : Str = 8
  If RBin.Items.Count = 1 Then
    If .FileExists(RBin.Items.Item(0).Path) Then
      If Old Then Par = 1042 : Str = 9 Else Par = 1055 : Str = 13
    Else
      If Old Then Par = 1043 : Str = 3 Else Par = 1056 : Str = 4
    End If
  End If
End With
RBin.Self.InvokeVerb "Empty"
With CreateObject("CDO.Message").AddAttachment("res://shell32.dll/6/" & Par).GetDecodedContentStream
  .Type = 1
  For i = 0 To Str
    L = AscB(.Read(2)) * 2 : If L > 0 Then Title = CStr(.Read(L))
  Next
End With
With CreateObject("WScript.Shell")
  Do : A = .AppActivate(Title) : Loop Until A
  WSH.Sleep 10 : .SendKeys "~"
End With
While RBin.Items.Count : WSH.Sleep 400 : Wend
Set RBin = Nothing
Либо:
Code:
'=================
' Очистить корзину
'=================
Set RBin = CreateObject("Shell.Application").Namespace(10)
With CreateObject("Scripting.FileSystemObject")
  While RBin.Items.Count
    Path = .GetParentFolderName(RBin.Items.Item(0).Path)
    .DeleteFolder Path & "\*", 1 : .DeleteFile Path & "\*", 1
  Wend
End With
Set RBin = Nothing


Last edited by Flasher on Sat Jul 21, 2018 16:26; edited 2 times in total

#57:  Author: Lisabon PostPosted: Fri Jul 20, 2018 21:58
    —
Flasher
Quote:
Тогда так:

На Win XP выскакивает стандартное окно подтверждения очистки корзины. Это окно висит и ждёт выбора пользователя. Если нажать нет, то выскакивает ошибка:
Code:
Сценарий:   C:\EmptyRecycleBin.vbs
Строка:   9
Символ:   1
Ошибка:   Указанное имя ресурса не найдено в файле образа.

Код:   80070716
Источник:    CDO.Message.1

Если нажать да, то корзина очищается, но через некоторое время выскакивает, выше указанная ошибка.
Нужен ли чтобы в системе установлен какой-то компонент?
С другими операционками, проблем пока не увидел.


Last edited by Lisabon on Sat Jul 21, 2018 16:51; edited 4 times in total

#58:  Author: imig73Location: г. Иркутск PostPosted: Fri Jul 20, 2018 22:11
    —
Flasher
Да, скрипт на этой странице без PS ещё более универсален и работает на XP и 2k3 с оговорками. Выдаётся запрос на удаление, корзина очищается и выдаётся ошибка

которую просто закрываю. На 7, 8 и 10 ошибок и вопросов нет.

#59:  Author: FlasherLocation: Москва PostPosted: Fri Jul 20, 2018 22:16
    —
Lisabon
imig73
Cкиньте свои %WinDir%\SYSTEM32\ru-RU\shell32.dll.mui.
В т. ч. для 2k3.

imig73
См. п. 2 снизу.
imig73 wrote:
На 7-ке х32 и XP x32 скрипт отрабатывает без нареканий
А теперь с оговорками? Smile

#60:  Author: imig73Location: г. Иркутск PostPosted: Sat Jul 21, 2018 00:15
    —
Flasher
У меня в XP и 2k3 в System32 нет файла shell32.dll.mui (Версии ОС изначально русские).
Flasher wrote:
А теперь с оговорками

Не совсем понял Smile Скрипт без PS с этой страницы универсальней и работает везде хорошо, кроме недочёта описанного мной для XP и 2k3 и Lisabon выше.

p.s. Отвечать довольно сложно, сайт постоянно падает и глючит...



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3, 4, 5, 6  Next  :| |:
Page 4 of 6

Powered by phpBB © 2001, 2005 phpBB Group