MultiDel

Название MultiDel
Имя файла (*.txt) MultiDel.txt
Описание Удаляет одноименные файлы во всех директориях, соответствующих вкладкам на панели
Автор Вахмурка
Параметры ("%F")
Вызываемые плагины win, file, vec
Иконка
Версия 3.0
Дата обновления 20.08.17
;;Если wincmd.ini находится не в директории Windows, укажите его полный путь: 
global Config = env("WINDIR") ++ "/wincmd.ini"
local hwnd = win.handle("c=TTOTAL_CMD")
global TT = cl.Create("Tabs", 1)
win.sendmessage(hwnd, 0x400+51, 580, 0)
static CR = esc(?+\n+, ?+\+)
local j, Target
local i = ifelse(win.sendmessage(hwnd, 0x400+50, 1000, 0) == 1, "left", "right")

;Sub_ReadTabs - имя скрипта ReadTabs
local T = runfile.Subs\Sub_ReadTabs(i)

if(T == 1) do
	win.sendmessage(hwnd, 0x400+51, 908, 0)
	quit
endif

local Str = file.readall(arg(1))

local v = vec.createfromlines(Str)
if(v <= 0) do
	messagebox("ok error", "Vector not created", "VEC plugin error #1")
	quit
endif

local Counter = vec.length(v)

Str = "Are you sure to delete the following files?" ++ CR ++ CR

for(i = 0; i < Counter; i++)
	v[i] = file.nametype(v[i])
	for(j = 0; j < T; j++)
		Target = TT.GetId(j)
		Str ++= Target ++ v[i] ++ CR
	endfor
endfor

local Total = T*Counter

if(messagebox("yesno warning", Str, Total ++ " files in total") == 7)
	quit

;Sub_Progress - имя скрипта Progress
.Subs\Sub_Progress(0, 0, Total, 0, 5000, "/", "")

for(i = 0; i < T; i++)
	Target = TT.GetId(i)
	for(j = 0; j < Counter; j++)
		Str = i*Counter + j + 1
		.Subs\Sub_Progress@Current(Str)
		file.delete(Target ++ v[j])
	endfor
endfor

Комментарии:

Если необходимо удалить несколько файлов с одинаковыми именами из множества директорий, предлагается сделать так:


На главную Все о Total Commander PowerPro Все скрипты