|
Название | SisterDel |
Имя файла (*.txt) | SisterDel.txt |
Описание | Удаляет файлы из сестринских директорий |
Автор | Вахмурка |
Параметры |
("%P", "%O", "%E", "0|1|2", "n|e|b")
(см. комментарий) |
Вызываемые плагины | file, vec, miscplugin |
Иконка | |
Версия | 1.0 |
Дата обновления | 08.11.2005 |
local Path = arg(1) local Name = arg(2) local Ext = arg(3) local Temp = Path ++ Name ++ "." ++ Ext ;Sub_ParsePath - имя скрипта ParsePath; local Parent = runfile.Subs\Sub_ParsePath(Temp, -1) ;SubDirList - имя скрипта SubDirList; local Size = runfile.SubDirList(Parent) local i, Victim local List = "Are you sure to delete the following files:\n" local mpDlgText local mpDlgCaption = "Sister Delete" local mpIcon = "QUESTION" if(arg(5) == "n") do Victim = Name ++ ".*" elseif(arg(5) == "e") do Victim = "*." ++ Ext elseif(arg(5) == "b") do Victim = Name ++ "." ++ Ext endif for(i = 0; i < Size; i = i + 1) v[i] = v[i] ++ "\" ++ Victim if(file.validpath(v[i]) == "0") do v[i] = "" else if(arg(4) == "1") List = List ++ "\n" ++ v[i] endif endfor if(arg(4) == "1") do mpDlgText = List if(miscplugin.messagebox(1, "&Yes", "&No") == "&No") quit endif Path = 0 for(i = 0; i < Size; i = i + 1) if(v[i] != "") do if(arg(4) == "2") do mpDlgText = "Delete " ++ v[i] ++ "?" if(miscplugin.messagebox(1, "&Yes", "&No") == "&No") jump NextFile endif file.delete(v[i]) Path = Path + 1 endif @NextFile endfor local mpIcon = "INFORMATION" mpDlgText = Path ++ " files are deleted" miscplugin.messagebox(1, "OK") vec.destroy(v) vec.unload miscplugin.unload
Под сестринской директорией понимается имеющая с текущей общую родительскую. Например, для c:\Windows сестринской директорией будет, в частности, c:\Program Files.
Идея скрипта появилась у меня тогда, когда я разбирался со скачанными из Интернета файлами. Некоторые программы закачки создают множество директорий, в каждую из которых записывают файл-отчет типа error.log. Как избавиться от них штатными средствами?
Остается пустая вкладка, которую, скорее всего, придется закрывать. Вывод - слишком длинная последовательность действий для такой рутинной процедуры.
С первыми тремя параметрами все ясно - путь, имя, расширение текущего файла, подлежащего удалению среди прочих. Четвертый параметр задает выдачу запроса на удаление:
Пятый параметр определяет маску файла на удаление:
Я использую только "b", а остальные возможности добавил для универсальности. Например, задавать "е" имеет смысл, установив курсор на файле с расширением типа gid, tmp, ~tx, и пр.
На главную | Все о Total Commander | PowerPro | PowerPro & Total Commander |